不管什么编程语言,我们习惯性写的第一个程序就是hello world程序。似乎学会了编写hello world这门语言我们也就入门了。
开始创建我们的第一个go程序,这里我在GitHub上新建了一个仓库,命名为gostudy然后克隆到了本地,当然了,也可以不用这么做。
前面我们见过使用vscode搭建go环境,今天我们使用另外一款IDE:goland
。
其官方下载地址为:https://www.jetbrains.com/go/
如果可能的话购买个人版大概需要560人民币。。当然了推荐使用正版。如果不想的话网上有很多你懂的。
这里我们选择直接从vcs拉取:
认证完成后,goland会自动登录并列出你仓库下面的项目:
选择对应的仓库项目,点击clone
,等待完成。
package main
import "fmt"
func main(){
fmt.Println("Hello World!")
}
接下来我们需要对项目进行一些配置:
GOPROXY=https://goproxy.io,direct
此时程序会执行go build 和 go run ,如果不进行配置的话,那么默认build后生成的可执行文件,windows为例在C:\Users\用户名\AppData\Local\Temp
,当然了可以自己配置下:
程序执行结果:
我们通过这个最简单的程序来看看一个go程序的一些基本概念。
Go语言代码是通过包进行组织的,也就是package。包的概念如果大家接触过其他编程语言,大概类似于库或者模块。在Go中一个包是由位于单个目录下的一个或者多个go源代码文件组成。一般来说目录名称就是包名,当然两者也可以不同。go源代码文件开头都是以包名的声明开始,就是上例中的:
package main
main
包比较特殊。它定义了一个独立可执行的程序,而不是一个库。在main里的main 函数 也很特殊,它是整个go程序执行时的入口。
Go 语言的编译程序会试图把main包编译为二进制可执行文件。所有用 Go 语言编译的可执行程序都必须有一个名叫 main 的包。一个可执行程序有且仅有一个 main 包。
在Goland中,我们可以在一个包中定义多个类似helloworld的go文件,但是在运行的时候,我们需要使用单文件配置,否则会提示在该包下有多个main入口。
我们必须告诉go编译器,在我们的代码中使用了哪些包。也就是下面的语句:
import "fmt"
在go中大概有100多个内置包,这里截图看下,当然了这里并没有展示全部,大家可以在官方文档中查看所有的内置包。
导入语句我们可以分为两种,一种是单行导入,另外自然是多行导入了。
// 单行导入
import "fmt"
// 多行导入
import (
"fmt"
)
注意多行导入是括号()
,不是大括号{}
,刚入坑受其他语言的影响一不留神就写错了。
main函数的写法就这样了。。。没什么可以深究的。官方怎么写我们就怎么来,几乎所有的语言都差不多长这个样子。
// 可执行程序入口
func main() {
fmt.Println("Hello World!")
}
至于函数的定义我们专门找一篇在聊。
当然了,我们也可以自己定义运行配置,如果项目没有生成的话,可以自己手动添加:
配置完成后,就可以点击右上角的运行按钮开始了。
如果你偏爱使用命令行,当然页可以的。
go run go源代码文件名
go build go源代码文件名
命令成功后,默认会在当前目录下生成可执行文件。
然后你可以直接运行该可执行文件:
go install go源代码文件名