• GO语言数组,切片,MAP总结


    数组

    数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。
    数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。
    数组是值类型,赋值和传参会复制整个数组。因此改变副本的值,不会改变本身的值。

    数组声明

    var 数组变量名 [元素数量]元素类型
    var a [3]int  //声明一个长度为3的整形数组
    var city = [...]string{"北京", "上海", "深圳"} //声明一个可变长度的字符串类型数组并且初始化
    

    数组定义必须指定长度。
    让编译器根据初始值的个数自行推断数组的长度...

    切片

    切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。
    切片是一个引用类型,它的内部结构包含地址、长度和容量。

    切片声明

    var 变量名称[]元素类型
    var a []string              //声明一个字符串切片
    var b = []int{}             //声明一个整型切片并初始化
    var c = []bool{false, true} //声明一个布尔切片并初始化
    

    使用make()函数构造切片

    make([]元素类型, 切片中元素的数量, 切片的容量)
    s := make([]int, 2, 10)
    

    切片不需要指定长度。
    切片之间是不能比较,只能和nil比较!

    map

    map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。map是无序的。

    map声明

    map[键类型]值类型
    make(map[KeyType]ValueType, [cap])
    其中cap表示map的容量,该参数不是必须的
    

    三种声明方式

    //第一种声明
    var test1 map[string]string
    //在使用map前,需要先make,make的作用就是给map分配数据空间
    test1 = make(map[string]string, 10) 
    test1["one"] = "php"
    //第二种声明
    test2 := make(map[string]string)
    test1["one"] = "php"
    //第三种声明
    test3 := map[string]string{
        "one" : "php",
    }
    
  • 相关阅读:
    单例设计模式
    MySQL数据类型
    MySQL创建、修改、删除数据库
    HTTP请求与响应
    netcore在CentOS7 下使用处理图片的问题
    SQL删除重复数据
    不同浏览器对cookie大小与个数的限制
    asp.net实现SQL2005的通知数据缓存
    MS SQL 设置自增长字段默认值
    MS SQL 批量操作
  • 原文地址:https://www.cnblogs.com/aresxin/p/2467234365.html
Copyright © 2020-2023  润新知