Go语言学习02-第一个程序与编译

0x00 永远的Hello world!

package main		

import "fmt"

func main(){					//main表示入口
    fmt.Println("HelloWorld!")
}

当我们编写上方的代码时,Vscode一直会弹窗提示什么错误。

Go语言学习02-第一个程序与编译

这是在说我们没有安装关于自动补全等辅助功能的插件而已,我们可以选择全部安装就行了,但是国内访问国外的网速你懂的,多半会timeout

如果遇到这种情况,解决方法请看前一个Go语言笔记,配置代理等。

0x01 语法

基本语法

Go语言学习02-第一个程序与编译

代码风格

Go语言学习02-第一个程序与编译

风格调节命令

gofmt main.go

Go语言学习02-第一个程序与编译

gofmt -w main.go

Go语言学习02-第一个程序与编译

标识符

Go语言学习02-第一个程序与编译

Go语言学习02-第一个程序与编译

保留关键字

Go语言学习02-第一个程序与编译

0x02 编译go build

一:在项目目录下编译,最常用

1、右键点击main.go,在集成终端中打开。

Go语言学习02-第一个程序与编译

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

Go语言学习02-第一个程序与编译

3、直接输入go build 报错

Go语言学习02-第一个程序与编译

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

Go语言学习02-第一个程序与编译

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

Go语言学习02-第一个程序与编译

二:在其它路径下编译,不常用

go build github.com/studygo/day01/helloworld   #gobuild后面加上项目的路径(项目路径从GOPATH/src后开始写起)

三:改名编译

go build -o nihao.exe

Go语言学习02-第一个程序与编译

四:编译后直接运行,不生成exe

go run main.go

Go语言学习02-第一个程序与编译

五:先编译,后移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

Go语言学习02-第一个程序与编译

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

Go语言学习02-第一个程序与编译

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

上一篇:利用java反射机制修改属性值


下一篇:Set系列集合的简述及使用