如何使用命令INSTALL(命令应用程序你可以路径如果你)「如何使用命令安装程序」

想要将 Go 程序作为完整的可执行二进制文件运行?Go install 命令会在工作区的 bin 目录中编译并安装应用程序
方法如下
译自 Golang: How To Use the Go Install Command,作者 Jack Wallen
Go 语言 有一个特殊命令,用于将应用程序的二进制包编译并安装到应用程序用户可以访问的路径中
让我用我们都能理解的方式来解释一下
首先,我们来谈谈 PATH
PATH 是一个特殊的目录列表,它指示系统在何处查找运行命令所需的执行文件
例如:对于 Linux,运行命令...echo $PATH你可能会在输出中看到类似这样的内容:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin从本质上讲,这意味着任何位于这些目录中的任何可执行文件都可以从文件系统层次结构中的任何位置运行
由于有了 PATH,你无需对 ls 等命令使用完整路径,该路径为:/usr/bin/ls相反,你可以简单地运行 ls 来使用该应用程序
当你安装 Go 时,它假定 Go 的路径默认为特定位置
要找出该路径在哪里,请发出命令:echo $GOPATH你应该看到类似这样的内容:/home/jack/go/你可以使用以下命令设置此路径:go env -w GOPATH=$HOME/go请注意 $HOME 等同于 /home/USER(其中 USER 是你的 Linux 用户名)
你也可以在 .bash_profile 文件中进行设置
使用以下命令打开该文件进行编辑:nano ~/.bash_profile在该文件的底部,添加以下内容:export GOPATH=$HOME/go使用以下命令获取文件:source ~/.bash_profile如果你愿意,可以更改该路径,但最好始终保持原样(尤其是在刚开始时)
好的,现在你已经了解了 GOPATH 是什么,它如何使用?让我告诉你
让我们编写一个程序来计算圆周率的近似值
此应用程序的工作原理如下:导入包 fmt、math 和 math/rand
设置随机数生成器种子,将 totalPoints 设置为 100 万,将 pointsInsideCircle 设置为 0
使用 for 循环迭代 totalPoints,将 x 和 y 都设置为随机浮点数 64,并使用这些数字(使用 math.Sqrt 函数)将 xx 和 yy 相乘
piApprox 设置为 pointsInsideCircletotalPoints 的 float64 的 4 倍
最后,打印出该值
以下是代码:package mainimport ( "fmt" "math" "math/rand")func main() { rand.Seed(42) totalPoints := 1000000 pointsInsideCircle := 0 for i := 0; i < totalPoints; i++ { x := rand.Float64() y := rand.Float64() distance := math.Sqrt(xx + yy) if distance < 1 { pointsInsideCircle++ } } piApprox := 4 float64(pointsInsideCircle) / float64(totalPoints) fmt.Printf("Using this method, our approximate value of π: %f\n", piApprox)}使用以下命令创建一个新的项目目录:mkdir ~/randompi使用以下命令切换到该目录:cd randompi使用以下命令初始化项目:go mod init randompi使用以下命令创建 main.go 文件:nano main.go将代码粘贴到该文件中并保存
使用以下命令构建应用程序:go build你现在应该看到一个名为 randompi 的二进制可执行文件
你可以使用以下命令运行新的 Go 应用程序:./randompi太棒了
但是,如果你想能够从其他目录运行该命令怎么办?由于这是 Linux,你可以将它复制到 /usr/local/bin 目录,但 Go 已经提供了 GOPATH 可用于此目的
为此,你可以使用 go install,它会将该新二进制文件移动到你的 GOPATH 中
要执行此操作,请发出以下命令:go install如果你发出 ls 命令,你会发现 randompi 可执行文件现在已经消失了
它去哪了?Go 已将其移动到你的 GOPATH 中
请记住使用以下命令列出你的 GOPATH:echo $GOPATH这应该会打印出你的 GOPATH
这里的诀窍是 Go 不会仅仅将可执行文件复制到你的 GOPATH 的根目录
相反,它会将其复制到该路径中的 bin 目录
在 Linux 术语中,bin 是二进制文件的常见目录(bin = binary)
要验证可执行文件是否已复制到该路径,请发出以下命令:ls $GOPATH/bin你应该看到 randompi 已列出
如果你了解 Linux,你可能已经理解接下来会发生什么
即使你已经设置了 GOPATH,但这并不意味着它在你的 Linux PATH 中
即使有此警告,Go 也通过 run 命令为你提供了保障
如果你发出以下命令:go run randompi它将在 $GOPATH/bin 中找到二进制可执行文件并运行 randompi 应用程序,其输出将类似于:Using this method, our approximate value of π: 3.139740这里有一个小技巧
当你使用 go mod init randompi 初始化应用程序时,它会创建一个 go.mod 文件,其中将包含类似以下内容:module randompigo 1.22.1假设你想要将应用程序重命名为 gopi
你所要做的就是编辑 go.mod 文件并将 module randompi 更改为 module gopi
重新构建并重新安装应用程序,然后你可以使用以下命令运行应用程序:go run gopi这就是我的 Go 朋友,这是使用 go install 命令的基础知识
随着您继续学习 Go 语言,这将成为您的重要工具
如何使用命令INSTALL(命令应用程序你可以路径如果你)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息