Go是一门编译型的和静态的编译语言。
package main
func main() {
}
package
和 func
是两个关键字。两个 main
是两个标识符。
此程序第一行指定了当前源代码文件所处的包的包名(此处为main)。
第三行和第四行声明了一个名为 main
的函数。此函数为程序的入口函数。
Go官方工具链工具要求所有的Go源码文件以.go后缀结尾
运行单个go源码文件
go run test.go
如果一个程序的main包中有若干Go源代码文件,在相应目录下可以用下面的命令运行此程序。
go run .
在大多数高级编程语言中,数据通常被抽象为各种类型(type)和值(value)。 一个类型可以看作是值的模板。一个值可以看作是某个类型的实例。 大多数编程语 言支持自定义类型和若干预声明类型(即内置类型)。
返回结果也是int,两个
func StatRandomNumbers(numRands int) (int, int) {
// 声明了两个变量(类型都为int,初始值都为0)
var a, b int
// 一个for循环代码块
for i := 0; i < numRands; i++ {
// 一个if-else条件控制代码块
if rand.Intn(MaxRand) < MaxRand/2 {
a = a + 1
} else {
b++ // 等价于:b = b + 1
}
}
return a, b // 此函数返回两个结果
}
x, y := StatRandomNumbers(num)
函数左括号不能位于行首(单独换行)
一个标识符是一个以Unicode字母或者_开头并且完全由Unicode字母和Unicode数字 组成的单词。
这边有问题的话,具体还是看书吧,不好说
内置类型也称为预声明类型
Go支持如下内置基本类型:
除了bool和string类型,其它的15种内置基本类型都称为数值类型(整型、浮点 数型和复数型)。
Go中有两种内置类型别名(type alias):
自定义类型
type status bool // status和bool是两个不同的类型
type boolean = bool // boolean和bool表示同一个类型
每种类型都有一个零值。一个类型的零值可以看作是此类型的默认值。
我们可以将false和true这两个预声 明的具名常量当作布尔类型的字面量形式。 但是,我们应该知道,从严格意义上 说,它们不属于字面量。
整数类型值有四种字面量形式:十进制形式(decimal)、八进制形式(octal)、 十六进制形式(hex)和二进制形式(binary)。
package main
func main(){
println(15 == 017) //true
println(15 == 0xF) //true
}
1.23
01.23 // == 1.23
.23
1.
// 一个e或者E随后的数值是指数值(底数为10)。
// 指数值必须为一个可以带符号的十进制整数字面量。
1.23e2 // == 123.0
123E2 // == 12300.0
123.E+2 // == 12300.0
1e-1 // == 0.1
.1e0 // == 0.1
0010e-2 // == 0.1
0e+5 // == 0.0
过
数值字面表示中使用下划线分段来增加可读性
// 合法的使用下划线的例子
6_9 // == 69
0_33_77_22 // == 0337722
0x_Bad_Face // == 0xBadFace
0X_1F_FFP-16 // == 0X1FFFP-16
0b1011_0111 + 0xA_B.Fp2i
// 非法的使用下划线的例子
_69 // 下划线不能出现在首尾
69_ // 下划线不能出现在首尾
6__9 // 下划线不能相连
0_xBadFace // x不是一个合法的八进制数字
1_.5 // .不是一个合法的十进制数字
1._5 // .不是一个合法的十进制数字
1| package main
2|
3| func main() {
4| println('a' == 97)
5| println('a' == '\141')
6| println('a' == '\x61')
7| println('a' == '\u0061')
8| println('a' == '\U00000061')
9| println(0x61 == '\x61')
10| println('\u4f17' == '众')
11| }
略
在Go中,有些值的类型是不确定的。换句话说,有些值的类型有很多可能性。 这些 值称为类型不确定值。对于大多数类型不确定值来说,它们各自都有一个默认类 型, 除了预声明的nil。nil是没有默认类型的。
默认类型,就是你声明一个变量,不说明它的类型,就被当成默认类型