-
.go文件 -go build-> .exe文件 -go run->运行,也可以直接运行go run形成 可执行二进制文件
-
.exe文件比.go文件多了基本文件,任何电脑都可以go run运行
-
定义的变量或者import的包如果没有使用,则不能通过
-
\r 从当前行重新输出,覆盖掉以前的内容
-
go语的SDK是什么?软件开发工具包
-
基本数据类型
-
数值型 整数类型 int , int8 , int16 , int32 , int64 , uint , uint8 , uint16 , uint32 , uint64 , byte 浮点类型 float32(单精度) , float64(双精度)(默认8位,64字节) 字符型 没有专门的字符型,使用byte来保存单个字符 布尔型 bool(一个字节) 字符串 string -
int8 , int16 , int32 , int64分别占用1,2,4,8个字节
-
rune相当于int32;byte相当于uint8
-
package main import ( "fmt" "unsafe" ) func main() { var n1 = 100 fmt.Printf("n1的类型:%T", n1) //fmt.Printf()函数,用于格式化输出 var n2 int64 = 100 //unsafe.Sizeof(n)是unsafe包的一个函数,返回返回变量n占用的字节数 fmt.Printf("n2数据类型:%T,占用字节%d",n2,unsafe.Sizeof(n2)) } -
书写代码时,尽量使用占用空间小的数据类型
-
package main import "fmt" func main() { var f1 float32 = 12.34 fmt.Println(f1) var f2 float32 = -0.00089 var f3 float64 = -987654321.123 //尾数部分可能丢失,造成精度损失 fmt.Println("f2 = ", f2, "\nf3 = ", f3) var f4 float32 = -123.1234567 var f5 float64 = -123.1234567 fmt.Println("f4 = ", f4, "\nf5 = ", f5) fmt.Println(5.1234e2 == 512.34) // 1.23e2 == 123.0,两者相等 fmt.Println(512.34e-2 == 5.1234) // 123.4e-2 == 1.234,两者相等 } -
go中没有字符类型,用char代替字符类型
-
字符串通常由字符组成,go的字符串由字节组成
-
对于范围在ASCII码表内的字符,使用byte,超出255,使用 int 类型或 uint 类型
-
使用字符输出,使用格式化输出
fmt.Printf("%c",c) -
byte类型参与数据运算
-
go中的字符串一旦赋值不可修改
-
func main() { var address string = "12345 \n 6789" // "" 双引号识别转义字符 fmt.Println(address) s2 := `import \n \t \\ \' \" ` // `` 反引号的使用,“~”键,源码输出不改变 fmt.Println(s2) } -
字符串可以使用 + 拼接,+号保留在上一行
-
默认值:整型0,浮点型0,字符串"",布尔类型false
-
精度转换方式为T(v),T为目标格式,v为被转换的数据,只有v的值受影响,v的数据类型不改变
-
直接输入的数据类型与操作系统相同,为 int
-
func main(){ var n1 int32 = 10 var n2 int64 var n3 int8 n2 = n1+20 //计算时,输出结果与已有数据类型相同 n1+20 == int32 + int == int32 n3 = n1+128 // 128 数据范围超过结果,编译器不通过 }