go的环境配置
1 | - 1.golang下载(https://studygolang.com/dl) |
Hello World
1 | package main |
将上面的程序保存成 helloworld.go,然后在文件地址栏输入cmd回车执行或者可以右键Git bash执行:go run helloworld.go
运行结果
Golang标准库文档(https://studygolang.com/pkgdoc)
golang数据类型
数据类型作用:告诉编译器这个变量应该占用多大内存
数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。
- 整型
uint8: 无符号 8 位整型 (0 到 255) uint16: 无符号 16 位整型 (0 到 65535) uint32: 无符号 32 位整型 (0 到 4294967295) uint64: 无符号 64 位整型 (0 到 18446744073709551615) int8: 有符号 8 位整型 (-128 到 127) int16: 有符号 16 位整型 (-32768 到 32767) int32: 有符号 32 位整型 (-2147483648 到 2147483647) int64: 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
- 浮点型
float32: IEEE-754 32位浮点型数 float64: IEEE-754 64位浮点型数 complex64: 32 位实数和虚数 complex128: 64 位实数和虚数
变量命名规范
- 1)字母,下划线,数字
- 2)不能以数字开头
- 3)不能以关键字命名
- 4)要区分大小写
变量声明
变量,程序运行期间可以改变的量,关键字var
1 | //var(关键字) a(变量名) int(变量类型) |
注:变量声明之后必须引用,不然会报错
Println和Printf的区别
一个小例子
1 | package main |
运行结果都是a= 10 ,b= 20 c= 30但明显用Printf格式更好控制
多重赋值和匿名变量
1 | //a:=10 b:=20 c:=30 |
常量
常量在程序运行期间不可改变,关键字const
常量声明以后不可以再赋值
常量的类型推导
1 | const a =10.2 |
多个变量/常量的定义
1 | package main |
枚举iota
- iota常量自动生成器,每换一行自动加1
- iota给常量赋值
- iota遇到const重置为0
- 可以只写一个iota
- 如果是同一行,值都一样
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22func main() {
const (
a=iota //0
b=iota //1
c=iota //2
)
fmt.Println(a,b,c)
const d=iota //0
fmt.Println(d)
const (
a1=iota //0
b1 //1
c1 //2
)
fmt.Println(a1,b1,c1)
const (
i=iota //0
j1,j2,j3=iota,iota,iota //1
k=iota //2
)
fmt.Println(i,j1,j2,j3,k)
}
基本类型
- bool 布尔类型 初始为false 长度1
- byte 字节型 初始为0 长度1=uint8
- rune 字符类型 0 长度4=uint32
- int uint 整型 0 长度4/8 (uint表示无符号)
- int8,uint8 整型 0 长度1
- int16,uint16 整型 0 长度2
- int32,uint32 整型 0 长度4
- int64,uint64 整型 0 长度8
- float32 浮点型 长度4
- float64 浮点型 长度8
- complex64 复数类型 长度8 (10+20i) 不常用
- complex128 复数类型 长度16
- uintptr 整型 长度4或8
- string 字符串 utf-8字符串
复数类型
1 | package main |