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、严格按照语法以及标准来编写代码,培养编程思维