golang数组切片和字典-创新互联

golang语言的数组 切片和字典

创新互联2013年开创至今,先为台山等服务建站,台山等地企业,进行企业商务咨询服务。为台山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。package main import (     "fmt" ) func main(){     //定长为数组 不定长为切片        //数组 var a[10] int     //切片 var a[] int     var a[10] int //定义一个数字长度为10,存储int类型     a[0] = 10   // 存储     a[1] = 20     a[2] = 30     a[3] = 40     fmt.Println(a[0],a[1],a[2],a[3])  //通过序列打印     fmt.Println(a)                    //打印整个数组,因为定义长度为10,而我们只存了4个,所有后面的部分将以零值填充。     // 运行结果     10 20 30 40     [10 20 30 40 0 0 0 0 0 0]     //初始化并赋值          num := [5]int{1,2,3,4,5}  //初始化并赋值     fmt.Println(num)          //数组遍历     for i,value := range num{  //索引和值         fmt.Println(value,i)     }          //数组定义时可不定义切片大小     sliceOne := []int{1,2,3,4,5}     fmt.Println(sliceOne[0],sliceOne[1],sliceOne[2])          //通过开始索引和结束索引创建一个新的切片     sliceTwo := sliceOne[1:3]  //返回sliceOne中索引1到索引3,但不包含3     fmt.Println(sliceTwo)  //运行结果:[2 3]          //可省略开始索引,省略表示从索引0开始     fmt.Println(sliceOne[:3]) //返回索引0-索引3,不包含3          //可省略结束索引,省略表示直到最后一个     fmt.Println(sliceOne[1:]) //打印索引1到最后,全部被打印出来 运行结果:[2 3 4 5]     //同事省略开始和结束表示复制全部切片     fmt.Println(sliceOne[:])          //使用make初始化并设定长度与容量     sliceThree := make([]int,5,10)//表示初始化一个切片,长度为5,大容量为10,即在内存中申请了能放置10个长度的空间,这样在有新元素插入的时候就不用再动态分配空间提高效率。     fmt.Println(sliceThree) //运行结果:[0 0 0 0 0]          //使用len 和cap 查看切片的长度和容量     fmt.Println(len(sliceThree))      fmt.Println(cap(sliceThree))//运行结果:5 10          //使用append来追加元素     sliceThree = append(sliceThree,2,3,4)     fmt.Println(sliceThree) //运行结果:[0 0 0 0 0 1 2 3 4]     //多维数组     var a [2][3]int = [...][3]int{{1,2,3},{4,5,6}}          // 注意:多维数组只有第一层可使用[...]里面的都不可以          //切片合并     var a = []int{1,2,3}     var b = []int{4,5,6}     a = append(a,b...)        // 切片容量的扩展      * 每次只追加一个元素,每一次都是上一次的2倍      * 追加的超过原来容量的1倍,就等于原来的容量+扩容元素个数的最接近的偶数       * 如果切片的容量大于了1024,后续就每次扩容0.25倍 ?     //排序     排序操作主要都在sort包中,导入就可以使用了。     import sort     sort.Ints #对整数进行排序     sort.Strings #对字符串进行排序     sort.Float64s #对浮点数排序       //查找     sort.SearchInts(a []int, b int) 从数组a中查找B,查找时会先进行排序然后在查找,返回下标 index     sort.SearchFloats(a []float64, b float64)     sort.SearchStrings(a p[]string,b string)               // 字典map     // 使用make来创建map      //声明时不会分配内存的,需要用make初始化才能分配内存进行操作     m := make(map[string]int) //定义建值为字符串,值为整型     m["first"] = 1     fmt.Println(m["first"]) //运行结果:1     m["first"] = 2     fmt.Println(m["first"]) //运行结果:2         //使用len获取map长度     fmt.Println(len(m)) //运行结果:1          //检查map中是否包含某个建值     v,ok :=m["third"] //如果包含建值third那么,v等于third对应的值,ok为true,否则v为零值,ok为false     fmt.Print(v,ok) //运行结果:0 false          //delete删除map中的建值对     delete(m,"first")     fmt.Println(m)            //创建的时候初始化     var mp = map[string]int{         "first" : 1,         "second" : 2,     }          //字典嵌套     outer := map[string]map[string]int{         "inner1":map[string]int{             "first":1,             "second":2,         }         "inner2":map[string]int{             "first":3,             "second":4,         }             }     }

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:golang数组切片和字典-创新互联
网站地址:http://pwwzsj.com/article/hijjc.html