golang 数组,切片,映射 【我在国图整理ing】

package main

import "fmt"

/*
数组是一个重要构建,定义数组并制定长度和数据类型 arr [10]int
数组的固定以后不可以任意追加
*/


/*
切片:就是可以任意删减的数组
切片是底层数组中的一个连续片段,注意连续的意思就是切片不能"跳跃赋值",切片比数组灵活,数组不能任意添加元素
切片可以新增,删除,复制切片中元素,可将切片视为轻量级的数组包装器
切片申明 :make 关键字 make( []string,2) ,切片可以通过append追加到尾部,只能通过下标访问值
*/

/*
映射: 就是kv模式的键值对数组,可以通过key访问value
申明:make(map[string]int)
golang是静态语言,因为有映射功能又像python动态语言,而不像C语言的方面之一

*/

func main() {
//var arr [2]string
//var arr1 [10]int
//var arr2 []int
//var arr3 []string
//arr[0] = "hello"
//arr[1] = "world"
//fmt.Println(arr, arr1, arr2, arr3)

//buildSlice()
buildMap()
}

func buildSlice() {
var arr = make([]string, 2)
arr[0] = "hello"
arr[1] = "world" //这里的切面是连续的,不能直接给arr[10]赋值
arr = append(arr, "china") //append 给切片追加值
arr = append(arr, "china1")
arr = append(arr, "china2")
arr = append(arr, "china3", "china4", "china5")
arr = append(arr[:3]) // 删除切面,只获取切片的前3个元素
var tt = make([]string,1)
copy(tt,arr) //复制切片,且只复制到tt的长度
fmt.Println(arr,tt)
}

func buildMap(){
var tt = make(map[string]int)
tt["name"] = 10
tt["age"] = 21 //添加元素
//delete(tt,"age"); //删除元素
fmt.Println(tt,tt["name"])
}
上一篇:深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 1


下一篇:docker之搭建环境(更新ing)