Go:
启动新项目
怎么做:
首先,通过在终端运行 go version
确保你已经安装了 Go。你应该会看到安装的 Go 版本作为输出。接下来,让我们开始一个新项目。导航到你的工作空间并运行:
mkdir hello-world
cd hello-world
这将创建一个新的目录并将你移至你的项目目录中。现在,初始化模块:
go mod init example.com/hello-world
将 example.com/hello-world
替换为你的模块路径。此命令在你的目录中创建一个 go.mod
文件,标志着一个新 Go 模块的开始。go.mod
可能看起来像这样:
module example.com/hello-world
go 1.18
go.mod
跟踪你的项目的依赖项。现在,创建一个 main.go
文件:
touch main.go
在你最喜欢的编辑器中打开 main.go
并添加以下代码来打印 “Hello, World!”:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
要运行你的程序,回到终端并执行:
go run main.go
你应该看到:
Hello, World!
恭喜你!你刚刚开始了一个新的 Go 项目并运行了你的第一个 Go 程序。
深入探讨
以模块为标准进行依赖管理在 Go 生态系统中的引入是一个重大转变,官方在 Go 1.11 中采用了这一做法。在模块之前,Go 开发人员依赖 GOPATH 环境变量来管理依赖项,这种方式不够直观,往往导致了臭名昭著的“依赖地狱”。
模块提供了一种封装的方式来管理项目依赖、版本控制,并且是使 Go 项目更加自给自足和可移植的一步。每个模块指定其依赖项,Go 在 go.mod
文件中跟踪这些依赖项,简化了不同环境和开发阶段的依赖管理。
然而,值得注意的是,尽管 Go 模块现在是标准,一些遗留项目可能仍然使用 GOPATH。对于大多数新项目来说,模块提供了一个更简单有效的管理系统,但了解 GOPATH 对于维护或贡献到较旧的 Go 代码库可能会很方便。
在替代方案方面,尽管 Go 模块现在是事实标准,Go 社区过去曾经尝试过其他依赖管理工具,比如 dep
。然而,这些大多已经被集成到 Go 工具链中的官方模块支持所取代。