Go语言 运行第一个程序

文章目录

    • 导言
    • 运行第一个程序
      • 搭建开发环境
      • Hello World
      • 运行程序
        • 方法1 --- `go install`
        • 方法2 --- `go build`
        • 方法3 --- `go run`
        • 方法4 --- `Go Playground` (需要)
      • 对 `hello world`程序 的简短解释
    • 原作者留言
    • 最后

导言

  • 原文链接: Hello World
  • If translation is not allowed, please leave me in the comment area and I will delete it as soon as possible.

运行第一个程序

学习编程,一定要动手!!!
接下来,我们来写第一个 Go 程序~


搭建开发环境

先来创个目录,我们将在这个目录下写 hello world程序。

打开终端,运行下面的命令:

mkdir ~/Documents/learngo/  

通过上面的命令,我们能在 ~/Documents路径 下,创建一个名为 learngo 的目录。注意:learngo目录 不一定非要创建在这个路径。


Hello World

learngo目录 下,创建一个 main.go文件,并写入以下内容:

package main

import "fmt"

func main() {
       
    fmt.Println("Hello World")
} 

Go 中,包含 main函数 的文件一般命名为 main.go。当然,其它名字也可以。

运行程序

运行 Go程序 有很多种方法。我们一个接一个地看。


方法1 — go install

请在命令行中,cd 进入 刚刚创建的 learngo目录。

cd ~/Documents/learngo/  

接下来,运行下面的命令:

go install  

上面的命令会先编译程序,之后将编译完成的二进制文件放在 ~/go/bin目录 中。该二进制文件的名字,等于包含 main.go文件 的文件夹名。对我们来说,它的名字就是 learngo

当你执行命令时,你可能遇到下面的错误:

go install: no install location for directory /home/naveen/Documents/learngo outside GOPATH  
For more details see: 'go help gopath'  

上面错误的意思是:go install 不知道将二进制文件放在哪里。

所以,接下来,我们给 go install 一个安装位置。

由于该位置由 GOBIN环境变量 管理,所以我们可以键入以下命令:

export GOBIN=~/go/bin/

上面的命令指明:go install 应该把编译完成的二进制文件,放到 ~/go/bin/ 中。~/go/bin/ 是存放 Go二进制文件 的常规位置,当然,你也可以选择其他位置。

接下来,重新执行 go install命令,你会发现错误消失了。

你可以在终端中,执行 cd ~/go/bin/ 命令切换到对应目录,之后使用 ls 命令,你会发现:该目录有个名为 learngo 的二进制文件。

接下来,我们运行编译好的二进制文件:

~/go/bin/learngo

你会看到如下输出:

Hello World  

如果你不想每次都输入 ~/go/bin/learngo 去运行 learngo,你可以将 ~/go/bin 加入到 PATH 中。

export PATH=$PATH:~/go/bin  

现在,你只需在终端中输入 learngo,程序就能运行了。

你可能想知道:假如 learngo目录下 包括了多个 go文件,这种情况下,go install 还能正常运行吗?别激动,我们将在之后讨论这个问题。


方法2 — go build

go buildgo install 非常像,但是 go build 不会将 编译完成的二进制文件 放在 ~/go/bin/目录,而是将它放在当前目录。

请在终端中,输入并执行下面的命令:

cd ~/Documents/learngo/  

此时,我们就进入了 learngo目录。

接下来,执行下面的命令:

go build

该命令会创建一个名为 learngo 的二进制文件,并将其放在当前目录。

你可以使用 ls -al命令 进行验证。

接下来,键入 ./learngo命令 运行这个程序,程序输出如下:

Hello World  

通过 go build,我们也成功运行了 hello world程序。


方法3 — go run

在命令行中,执行 cd ~/Documents/learngo/命令。此时,我们就进入了 learngo目录。

接下来,执行下面的命令:

go run main.go 

输入后,你马上就能看到如下输出:

Hello World

go rungo build / go install 的区别在于:go run 需要一个参数,该参数是一个以 .go 为后缀的文件名。

在后台,go rungo build 的工作方式非常相似。不过,go run 不是将 编译后的二进制文件 放在当前目录,而是将它放在一个临时位置,之后通过该临时位置,执行二进制文件。

如果你想知道 go run 的临时位置,你可以在go run 后加个 --work参数。

go run --work main.go  

运行上述的命令,输出为:

WORK=/var/folders/23/vdjz4kt972g5nzr86wzrj9740000gq/T/go-build698353814  
Hello World  

WORK的值就是临时位置了。

对该例子来说,编译完成的二进制文件将被放在:

/var/folders/23/vdjz4kt972g5nzr86wzrj9740000gq/T/go-build698353814/b001/exe

方法4 — Go Playground (需要)

运行 Go程序 的最后一个方法,就是使用 Go Playground。虽然这种方法有些局限性,但是对于运行简单程序来说,它非常有用。

这种方法用到了浏览器,所以我们可以不用在本地安装 Go通过 Go Playground,我们还能将代码分享给别人。

对于上面的 4 种方法,我们应该怎么选择呢?
这个问题的答案是:没有答案,看你自己的心情。

对我来说,当我想快速检查程序逻辑、或者想知道标准库函数的工作方式时,我一般使用会 Go Playground。对于其它情况,我倾向于使用 go install。因为 go install 会把所有程序编译到 ~/go/bin目录,所以无论终端在哪个目录,我都能运行程序。


hello world程序 的简短解释

这是我们刚刚写的 hello world程序:

package main 

import "fmt" 

func main() {
       
    fmt.Println("Hello World") 
}

下面,我简单说说程序的每一行都做了什么:

  • package main — 每个 go文件 必须以 package name语句 开头。
    包 (package) 能提高代码的独立性、可重用性。在这里,我们的包名是 mainmain函数 只能在 main包 中
  • import "fmt" — 用于导入其它包。
    在例子中,我们导入了 fmt包,因为我们用到了它的 Println函数,该函数的功能是:将文本打印到标准输出。
  • func main()func关键字 是函数开始的标志。
    main函数 是一个特别的函数,因为它是程序执行的起点。{ } 指明了 main函数 的开始、结束。
  • fmt.Println("Hello World") — 调用 fmt包 的 Println函数。
    package.function() 是调用包内函数的句式。

这就是今天的内容了~

祝你天天有刨冰吃~


原作者留言

上面的代码都能在 github 下载。

优质内容来之不易,您可以通过该 链接 为我捐赠。


最后

感谢原作者的优质内容。

欢迎指出文中的任何错误。

你可能感兴趣的:(go语言,翻译,go,hello,world,go,install,go,build,go,run)