关键字:
关键字是指被go语言赋予了特殊含义的单词
,共25个,关键字不能用于自定义名字,只能在特定语法结构中使用。
break | default | func | interface | select |
---|---|---|---|---|
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
此外,还有大约30多个预定义
的名字,比如int和true等,主要对应内建的常量、类型和函数。这些内部预先定义的名字并不是关键字,可以在重新定义并使用它们。
内建常量: true false iota nil内建类型: int int8 int16 int32 int64uint uint8 uint16 uint32 uint64 uintptrfloat32 float64 complex128 complex64bool byte rune string error内建函数: make len cap new append copy close deletecomplex real imagpanic recover
如何修改这些预定义名字呢,使用type关键字即可
// 相当于给int起了别名为INT,并在后续直接使用INT作为数据类型
type INT intfunc main() {var num INT = 5fmt.Println("num的数据类型为:",reflect.TypeOf(num))
}
输出:
main.INT
go命令:
Go是一门编译型语言,Go语言的工具链将源代码及其依赖转换成计算机的机器指令。
Go语言原生支持Unicode,它可以处理全世界任何语言的文本。
Go语言提供的工具都通过一个单独的命令go
调用,go
命令有一系列子命令。
go run
这个子命令可以编译一个或多个以.go
结尾的源文件
使用go build
可以保存编译的结果便于再次使用,这个命令生成一个可执行的二进制文件(注:Windows系统下生成的可执行文件是.exe后缀名),可以随时运行它(在Windows系统下在命令行直接输入***.exe命令运行,或双击运行),在Mac和Linux上生成的是一个二进制文件,双击运行。
build和run区别:
- build会先编译成当前系统二进制的可执行文件,然后再运行出结果,那么可执行文件
可以在没有go开发环境的终端运行
,正是因为build后可以在没有开发环境的终端运行,所以编译文件会很大,因为里面集成了很多需要运行go程序的代码 - 如果是run直接运行,是把编译+运行放在一步去做了,不会生成可执行文件,
只能在有安装go开发环境的终端运行
- 先编译再运行(推荐build)
go build 文件名.go
- 直接运行
go run 文件名.go
- 可以自定义生成可执行文件名,在mac/linux上是可执行文件,在window下必须是.exe后缀
go build -o 自定义文件名 原文件名// mac
go build -o myHelloWorld HelloWorld.go//win
go build -o myHelloWorld.exe HelloWorld.go
Go转义字符:
在Go语言中字符与字符串输出时可以用转义字符修饰,使用反斜杠、百分号修饰,第一个\或%
表示是一个转义符,第二个符号表示具体的功能
符号 | 含义 |
---|---|
\f | 换页 |
\t | Tab |
\n | 换行 |
\r | 回车,将\r 后面的数据写到\r 前面执行的数据上,会覆盖索引) |
\\ | 相当于\ |
演示:
func main() {fmt.Println("aaaaa\r222")
}
输出:原数据aaaaa被222由0索引覆盖
222aa
格 式 | 描 述 |
---|---|
%b | 整型以二进制方式显示 |
%c | 字符(不是字符串) |
%d | 整型以十进制方式显示 |
%e、%f、%g | 浮点数 |
%o | 整型以八进制方式显示 |
%p | 内存地址 |
%x | 整型以十六进制方式显示 |
%X | 整型以十六进制、字母大写方式显示 |
%s | 字符串 |
%t | 布尔值 |
%T | 所属数据类型 |
%U | Unicode 字符 |
%v | 按值的本来值输出 |
%% | 输出 % 本体 |
演示:
fmt.Printf("%d", num) //%f输出整型
fmt.Printf("%f", num) //%f输出浮点数
fmt.Printf("%t", num) //%t输出布尔类型
fmt.Printf("%c", num)// 使用%c可以打印出具体存储的字符
fmt.Printf("%s", num)// %s可以打印字符串
fmt.Printf("%.2f", num) // "%.数字"可以设置保留几位小数,并四舍五入
fmt.Printf("%T", num) // 打印出数据的类型
fmt.Printf("%t", num) //true
fmt.Printf("%p", num)// 打印内存地址
注意:
- go的源文件,可以通过编译器将其编译成可以识别的二进制文件,编译时一定要为
.go
结尾 - 在该源文件目录下,通过
go build
对文件进行编译,可以生成可执行的文件,在win下是.exe文件,在mac/linux下是可执行文件 - go是一行一行编译的,在代码里一行只能写一条语句
- go写完一条语句不需要写分号,编译器会在每一行结尾自动加上分号,如果一定要在一行中写多个语句要手动加分号隔开
- go语言定义的变量或import未使用,在编译时会报错,可以通过
—
规避报错