go 数据类型

数据类型
  • 字符串类型
  • 布尔类型
  • 数字类型
  • 8种派生类型
  1. 数组
  2. 切片
  3. map
  4. struct
  5. 函数
  6. 接口
  7. channel
  8. 指针
数组(类似PHP索引数组,长度固定,值类型唯一)
func main() {
	//数组
	var arr1 [1]int                 //声明数组arr1长度为 1 类型为 int
	var arr2 = [...]int{1, 2, 3, 4} //声明并初始化数组arr2,长度自动匹配

	fmt.Printf("%T", arr1)
	fmt.Printf("%T", arr2)
}
切片(动态数组)
func main()  {
	//声明
	var s1 []int		//nil

	//字面量
	s2 := []int{1,2,3,4}

	//截取
	s3 := s2[:]

	//make
	s4 := make([]int, 5) 	//

	//new 
	s5 := *new([]int)		//nil

	s1 = append(s1, 1, 2, 3)
	s2 = append(s2, 1, 2, 3)
	s3 = append(s3, 1, 2, 3)
	s4 = append(s4, 1, 2, 3)
	printSlice(s1)					//len=3 cap=4 slice=[1 2 3]
	printSlice(s2)					//len=7 cap=8 slice=[1 2 3 4 1 2 3]
	printSlice(s3)					//len=7 cap=8 slice=[1 2 3 4 1 2 3]
	printSlice(s4)					//len=8 cap=10 slice=[0 0 0 0 0 1 2 3]
	printSlice(s5)					//len=0 cap=0 slice=[]
}
func printSlice(x []int) {
	fmt.Printf("len=%d cap=%d slice=%v\n", len(x), cap(x), x)
}
map(相当于PHP的关联数组)
func main() {
	//map
	var m1 map[string]string
	var m2 = map[string]string{}
	m3 := map[string]string{}
	fmt.Println(m1)
	fmt.Println(m2)
	fmt.Println(m3)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值