系列文章
【golang学习之旅】使用VScode安装配置Go开发环境
【golang学习之旅】报错:a declared but not used
【golang学习之旅】Go 的基本数据类型
【golang学习之旅】深入理解字符串string数据类型
【golang学习之旅】go mod tidy
【golang学习之旅】记录一次 panic case : reflect: reflect.Value.SetInt using unaddressable value
【golang学习之旅】记录一次 error case : full error output: cc1: error: unrecognized command line option
目录
快速开始
Hello World
先在本地创建一个目录,用来放我们后面的练习代码:
打开VScode,点击下面绿框里的按键来打开我们上面创建的目录
然后在这个目录下创建一个main目录,main目录下创建一个以.go
为后缀的文件,名为hello_world.go
在文件里写入下面的代码:
go
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
打开VScode的terminal,进入到go文件所在的目录下
然后使用go build
命令对该go文件进行编译,如果编译成功则在该目录下生成 一个同名的.exe
文件(Windows)
然后执行该exe文件
代码解释
我们来解读这个代码
go
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
-
package main
- Go 语言的代码通过包 (package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个
.go
源代码文件组成,目录定义包的作用 - 每个源文件都以一条
package
声明语句开始,这个例子里就是package main
,表示该文件属于哪个包
- Go 语言的代码通过包 (package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个
-
import "fmt"
- 导包。包名一般都是小写
-
func main() {}
- func关键字定义了一个函数,函数名为main
- 一个函数的声明由
func
关键字、函数名、参数列表、返回值列表(这个例子里的main
函数参数列表和返回值都是空的)以及包含在大括号里的函数体组成 main
函数是整个程序执行时的入口
-
fmt.Println("Hello World")
- Println是fmt包里的一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行
- Go语言严格区分大小写。若一个包的函数要被其他包里的代码调用,那么这个函数名需要首字母大写
- 在使用其他包的函数时,一般都是
包名.函数名
的格式
编译和运行
上面的方法是先编译再运行,实际上可以直接使用go run
命令直接编译运行,但这种方式不会在目录下生成exe可执行文件。
而可执行文件可以在没有Go开发环境的机器上运行
注意:
-
go build可以指定可执行文件的文件名(在Windows系统中必须以.exe为后缀):
go build -o hello.exe
-
如果程序有错误,在编译时会在错误的那行报错
Go程序开发的注意事项
-
Go源文件以 "go"为扩展名
-
Go程序的执行入口是main()函数
-
Go语言严格区分大小写
-
Go方法是由一条条语句构成,每个语句后不需要分号,因为Go的编译器会主动把特定符号后的换行符转换为分号
-
Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句卸载同一行,否则报错
-
Go程序中定义的变量或者import的包如果没有使用到,代码不能编译通过,IDE也会报红提示