第四章:Go语言基础下

1、array就是数组:var arr[n]type
数组可以使用另一种 := 来声明

 2、slice -- Go的动态数组 var fslice[]int
slice也可以使用 := 来声明
例如    s:=make([]int,10,20)

 还可以通过从一个数组或者一个已经存在的slice中再次声明

3、map -- map[keyType]valueType
student := make(map[string]int)
make 用于内建类型(map,slice 和 channel)的内存分配

4、示例

package main

import (
	"fmt"
)

func main() {
	//var x map[string]float32
	//x["zhangsan"] = 90.90
	//fmt.Printf("%v", x)
	//上述程序会报错 因为map使用前必须make分配内存 否则会报 nil map错误

	x := make(map[string]float32)
	x["zhangsan"] = 90.90
	fmt.Printf("%v", x)
}

  

package main

import (
	"fmt"
)

func main() {

	x := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
	fmt.Printf("%v", x)

	y := x[1:3]
	fmt.Printf("%v", y)

	t := x[3:]
	fmt.Printf("%v", t)

	f := x[:3]
	fmt.Printf("%v", f)
}

  

package main

import (
	"fmt"
)

func main() {

	x := make([]int, 3, 5)
	x = append(x, 4, 5, 6, 7, 8)

	fmt.Printf("%v\n", x)
	fmt.Printf("%v\n", len(x)) //代表现在slice中元素的个数
	fmt.Printf("%v\n", cap(x)) //代表现在slice底层的分配的空间是多大 当append加入的元素个数超过此值时 底层会自动扩充
}

  

posted on 2019-02-21 15:37  唯伊  阅读(105)  评论(0)    收藏  举报

导航