Go语言学习03-第一个程序与编译
0x00 永远的Hello world!
package main
import "fmt"
func main(){ //main表示入口
fmt.Println("HelloWorld!")
}
当我们编写上方的代码时,Vscode一直会弹窗提示什么错误。

这是在说我们没有安装关于自动补全等辅助功能的插件而已,我们可以选择全部安装就行了,但是国内访问国外的网速你懂的,多半会timeout
如果遇到这种情况,解决方法请看前一个Go语言笔记,配置代理等。
0x01 语法
基本语法

代码风格

风格调节命令
gofmt main.go

gofmt -w main.go

标识符


保留关键字

0x02 编译go build
一:在项目目录下编译,最常用
1、右键点击main.go,在集成终端中打开。

2、配置默认的终端为cmd,而不是Powershell

3、直接输入go build 报错

那么在确保环境变量没有问题的情况下,在终端输入go env -w GO111MODULE=auto,再次go build即可。

4、或者干脆麻烦一点点,输入go build main.go。

二:在其它路径下编译,不常用
go build github.com/studygo/day01/helloworld #gobuild后面加上项目的路径(项目路径从GOPATH/src后开始写起)
三:改名编译
go build -o nihao.exe

四:编译后直接运行,不生成exe
go run main.go

五:先编译,后移bin
因为Golang/bin目录是我们放到系统环境变量的,所以实现的效果就是在任何地方都能执行这个exe
go install main.go
六:跨平台(交叉)编译
交叉编译,在windows下编译一个Linux平台跑的怎么弄?
windows下编译Linux平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build

Windows下编译Mac平台64位可执行程序:
SET CGO_ENABLED=0
SET GOOS=darwin
SET GOARCH=amd64
go build

Linux下编译Mac和Windows平台64位可执行程序
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build
0x03 Go语言文件的基本结构
package main //main是包文件名,只要是引入了main包,最终都会被编译成可执行的二进制文件exe
import "fmt" //导入语句
func main(){ //main()函数是程序的入口函数
fmt.Println("helloworld!")
}
0x04 习惯问题
1、养成好习惯,即使用go build,因为go run 只能编译一个文件,而且go run时间会稍长
2、严格按照语法以及标准来编写代码,培养编程思维

浙公网安备 33010602011771号