package main
import ("fmt")
func main() {
fmt.Println("Hello Word")
}
执行顺序
go build hello.go
go build 生成 .exe的可执行文件==>运行.exe执行文件
go run hello.go
编译和执行 一步到位
编译过程编译:即将go语言转换成二进制可执行文件的过程
go build hello.go
- 会默认生成一个hello.exe的可执行文件,windows环境下双击可执行。而且这个exe文件内置了go的sdk,即可以将这个.exe文件拷贝到没有go环境的机器中执行
- 如果直接拷贝go源码到其他机器,则该机器需要有go的环境才能执行
- exe的可执行文件不需要再执行编译过程,即exe的可执行文件启动速度较快
如果需要指定build过程生成exe文件的名字,则可以使用-o参数来给编译过程指定生成的目标文件的名字,windows下必须为.exe后缀的文件名才行。
go build -o he.exe hello.go
上述指令会将hello.go文件编译生成he.exe文件。
如果程序有错误,编译过程中会报错,并提示是哪一行出错。
go语言的转义字符(escape char)
- go程序的后缀是.go
- go程序的执行入口是main函数
- go语言严格区分大小写
- go方法由一条条语句构成,每个语句后不需要分号(简洁性) 在语句后加分号是没有意义的
- go编译器是一行一行编译的,不能把多个语句写在同一行
- go语言定义的变量或者import的包如果没有使用到,代码不能编译通过
- 大括号{}是成对出现,缺一不可
- 同一个文件夹下的go文件不能同时为package main的包 即不能有多个程序执行入口
转义字符 | 功能介绍 |
---|---|
\t | 制表符,通常用来对齐 |
\n | 换行符 |
\\ | 第一个为转义标识 第二个"\"为显示的字符 |
\" | 一个” |
\r | 一个回车,从当前行的最前面开始输出 覆盖之前的内容 |
例如:
package main
import "fmt"
func main() {
fmt.Println("F:\\go_projects\\demos")
}
输出:
F:\go_projects\demos
package main
import "fmt"
func main() {
fmt.Println("你好世界,我是\rLvan")
}
Lvan世界,我是
package main
import "fmt"
func main() {
fmt.Println("姓名\t年龄\t学号")
fmt.Println("吴京\t30\t2021000")
fmt.Println("吴奇隆\t30\t2021001")
fmt.Println("Lvan\t20\t2021002")
}
有表格对齐的功能
go语言的注释注释可以提高代码的可读性,可维护性
注释可以体现代码的思想
被注释的代码不会影响代码的执行
块注释不可嵌套
行注释:
//表示注释当前行后的内容
package main
import "fmt"
func main() { //{不能单独占一行
// 这是一个行注释
//fmt.Println("这个不能输出的,被注释了")
fmt.Println("这个可以输出")
}
可以同时选中多行 按ctrl + /进行多行一次性注释
块注释:
/* 块注释开始标记
*/ 块注释的结束标记
/* 嵌套的多行的内容*/
package main
import "fmt"
func main() { //{不能单独占一行
// 这是一个行注释
//fmt.Println("这个不能输出的,被注释了")
fmt.Println("这个可以输出")
/*
多行注释
多行注释
*/
}
代码风格
- go官方推荐使用行注释来注释整个方法和语句
- 正确使用缩进和空格
2.1 使用一次tab可以实现代码整体右移动 使用shift+tab整体向左移动
2.2 使用gofmt来进行格式化
2.3 运算符两边习惯性各加一个空格 如1 * 2 * 4- go语言的设计者思想为一个问题只有一个解决方案
- 当一行代码太长时,需要进行换行处理 如输出内容过长时,可以将内容以逗号的形式分割后换行 如:
fmt.Println(“这个可以输出这个可以输出”,
“这个可以输出这个可以输出这个可以”,
“输出这个可以输出这个可以输出这个可”,
“以输出这个可以输出这个可以输出”)
package main
func main()
{
}
上述这种就是错误的,不被允许的 { 不能独占一行