目录结构
D:.└─src└─go_code├─project01│ ├─main│ │ hello.go│ ││ └─package└─project02
hello.go文件
package main // 表示该hello.go文件所在的包是main,在go中每个文件都必须归属一个包import "fmt" // 引入一个包,包名“fmt”// 在main包中加入main()函数// func是关键字,表示一个函数// main是函数名,是一个主函数,即程序的入口func main(){fmt.Println("hello world") // 调用fmt包的Println函数,输出hello worldfmt.Println("hello xiao\rhello world") // 回车替换该行开始位置字符}
main()函数相当于程序的入口函数,程序从该函数开始执行(虽然严格意义上来说有比它更早执行的函数);main()函数在main包中不能缺少。
编译
1、通过 go build 命令,对go文件进行编译,生成 .exe 文件
在 dos 命令下,执行 .exe 文件就可以看到结果。
编译生成的 .exe 文件,自带环境和依赖包,可以拿到别的机器上直接运行
PS D:\go-project\src\go_code\project01\main> go build .\hello.goPS D:\go-project\src\go_code\project01\main> ls目录: D:\go-project\src\go_code\project01\mainMode LastWriteTime Length Name---- ------------- ------ -----a---- 2021/10/27 13:57 1926144 hello.exe-a---- 2021/10/27 13:56 307 hello.goPS D:\go-project\src\go_code\project01\main> .\hello.exehello worldPS D:\go-project\src\go_code\project01\main>
编译指定生成文件名
go build -o myhello.exe hello.go
PS D:\go-project\src\go_code\project01\main> go build -o myhello.exe hello.goPS D:\go-project\src\go_code\project01\main> ls目录: D:\go-project\src\go_code\project01\mainMode LastWriteTime Length Name---- ------------- ------ -----a---- 2021/10/27 14:07 1926144 hello.exe-a---- 2021/10/27 13:56 307 hello.go-a---- 2021/10/27 19:16 1926144 myhello.exePS D:\go-project\src\go_code\project01\main> .\myhello.exehello worldPS D:\go-project\src\go_code\project01\main>
2、go run 执行
go run hello.gohello world
shift+alt+向下的箭头: 复制行
shift+alt+项左的箭头: 当光标定位在单词中间的时候可以直接选中整个单词。
格式化代码
gofmt命令
# 格式化输出,源文件没有改动PS D:\go-project\src\go_code\project01\main>gofmt .\hello.gopackage mainimport "fmt"func main() {fmt.Println("hello xiao")// 使用,号换行,输出的时候还是连起来输出fmt.Println("hello worldhello worldhello worldhello worldhello world","hello worldhello worldhello worldhello worldhello worldhello world")fmt.Println("hello xiao\rhello world") // 回车替换该行开始位置字符fmt.Println("姓名\t年龄\t性别\nxiao\t12\t男")}PS D:\go-project\src\go_code\project01\main># 格式化源文件# gofmt -w .\hello.go
