关键字:
关键字是指被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 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
内建函数: make len cap new append copy close delete
complex real imag
panic recover
如何修改这些预定义名字呢,使用type关键字即可
// 相当于给int起了别名为INT,并在后续直接使用INT作为数据类型
type INT int
func main() {
var num INT = 5
fmt.Println("num的数据类型为:",reflect.TypeOf(num))
}
输出:
main.INT
go命令:
Go语言原生支持Unicode,它可以处理全世界任何语言的文本。
Go是一门编译型语言,Go语言的工具链将源代码及其依赖转换成计算机的机器指令。Go语言提供的工具都通过一个单独的命令go
调用,go
命令有一系列子命令。
go run
这个子命令可以编译一个或多个以.go
结尾的源文件
使用go build
可以保存编译的结果便于再次使用,这个命令生成一个可执行的二进制文件
build和run区别:
- 先编译再运行(推荐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)// 打印内存地址