符号
符号 |
含义 |
解释 |
示例 |
:= |
短变量声明(blank identifier) |
定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句 |
i := 1 |
_ |
空标识符(blank identifier) |
空标识符可用于任何语法需要变量名但程序逻辑不需要的时候 |
for _, arg := range os.Args[1:] { |
命令
名称 |
含义 |
概述 |
go env |
获取环境变量 |
返回配置的go的环境变量 |
go version |
获取版本号 |
返回安装的版本号 |
go run xxx.go |
运行 |
运行go文件 |
go build xxx.go |
编译 |
这个命令生成一个名为helloworld的可执行的二进制文件(译注:Windows系统下生成的可执行文件是helloworld.exe,增加了.exe后缀名),之后你可以随时运行它(译注:在Windows系统下在命令行直接输入helloworld.exe命令运行),不需任何处理 |
go get xxx |
获取代码 |
从网上获取代码,并放到对应目录中(需要先安装Git或Hg之类的版本管理工具,并将对应的命令添加到PATH环境变量中。需要先设置好GOPATH环境变量,下载的代码会放在$GOPATH目录 |
一些特殊数据类型
|数据类型|名称|含义|示例|
|map|map|是一个无序的key/value对的集合,其中所有的key都是不同的,然后通过给定的key可以在常数时间复杂度内检索、更新或删除对应的value|ages := make(map[string]int)|
|byte slice|字节切片||[]color.Color{…} 或 ioutil.ReadFile(arg)|
|struct|结构体|||
声明
|名称|含义|示例|
|var|变量||
|const|常量||
部分包函数介绍
包名 |
函数/变量名 |
含义 |
示例 |
os |
os.Args |
以跨平台的方式,提供了一些与操作系统交互的函数和变量 |
os.Args[1:],字符串切片 |
os |
os.Open |
返回两个值。第一个值是被打开的文件(*os.File),一个是内置error类型的值 |
os.Args[1:],字符串切片 |
bufio |
NewScanner |
该变量从程序的标准输入中读取内容。每次调用input.Scan(),即读入下一行,并移除行末的换行符;读取的内容可以调用input.Text()得到 |
budio.NewScanner |
#转换字符(动词(verb)-部分)
名称 |
含义 |
%d |
十进制整数 |
%x, %o, %b |
十六进制,八进制,二进制整数。 |
%f, %g, %e |
浮点数: 3.141593 3.141592653589793 3.141593e+00 |
%t |
布尔:true或false |
%c |
字符(rune) (Unicode码点) |
%s |
字符串 |
%q |
带双引号的字符串"abc"或带单引号的字符’c' |
%v |
变量的自然形式(natural format) |
%T |
变量的类型 |
%% |
字面上的百分号标志(无操作数) |
注意事项
(1)++是语句而不是表达式,因此j = i++非法,且++和–只能放在变量名后,++i非法。大多数语言中,语句和表达式的区别在于,语句不返回结果,执行语句只是为了产生副作用,而表达式总是返回结果,而通常没有副作用。
(2)go语言只有for循环这一种循环语句,但有多种形式
三种引号
名称 |
符号 |
解释 |
单引号 |
'' |
rune(int32)类型,单引号里面是单个字符,对应的值为该字符的ASCII值 |
双引号 |
"" |
字符串,内部可以包含转义字符 |
反引号 |
`` |
原生含义,可以多行,不支持转义 |