zoukankan      html  css  js  c++  java
  • Maps,字符串

    Maps

    1.Map的定义

      map语法为:var a map [键值类型] value值类型

      map是指在Go中将值(value)与键(key)关联的内置函数,可通过相应的键可以获取到值。map的空值是nil类型。

    package main
    
    import "fmt"
    
    func main() {
            var a map[int]string
            fmt.Println(a)          # 如果只是初始化不赋值,那么map便是nil类型
            if a==nil{
            fmt.Println("xxxx")     # 打印结果>>>:xxxx
        }
    }

     2.Map的赋值和取值

      如果想添加元素到nil map中,必须使用 make 函数初始化。获取map 元素语法是 map[key]。

    package main 
    
    import "fmt"
    
    func main() {
        var a map[int]string = make(map[int]string)   # 定义和初始化的第一种方式
        fmt.Println(a)     # >>>:map[] 
        a[1] = "10"
        a[2] = "20"
        a[3] = "30"
    ------------------------------------------------
        var a = map[int]string{1:"10",2:"20",3:"30"}   # 定义和初始化的第二种方式
        fmt.Println(a)       # >>>:map[1:10 2:20 3:30]
        fmt.Println(a[4])    # 如果取一个不存在的key值,返回的value是一个空值。
    }

     3.字典删除元素

      删除 map 中 key的语法是:delete(map, key)。delete为内置函数。这个函数没有返回值。

    package main 
    
    import "fmt"
    
    func main() {
        var a = map[int]string{1:"10",2:"20",3:"30"}   
        delete(a, 2)
        fmt.Println(a)       # >>>:map[1:10  3:30] ,key为2的值被删除。
    }

    4.获取Map的长度

      获取 map 的长度使用 len() 函数。

    package main 
    
    import "fmt"
    
    func main() {
        var a = map[int]string{1:"10",2:"20",3:"30"}   
        delete(a, 2)
        fmt.Println(a)       # >>>:map[1:10  3:30] ,key为2的值被删除。
        fmt.Println(len(a))    # >>>:2         # 获取长度
    }

    5.Map的相等性

      map之间不能使用 == 操作符判断,==只能用来检查 map 是否为nil类型。

     6.Map循环出所有的元素

    package main 
    
    import "fmt"
    
    func main() {
        var a = map[int]string{1:"10",2:"20",3:"30",4:"40",5:"50"}    # 这种方法取出来符map是有序的
        for i:=0; i<len(a)+1; i++ {
            fmt.Println(a[i])
        }
    ---------------------------------------------------
        for k,v := range a{    # 这种方法取出来符map是无序的
            fmt.Println(k,v)
        }
    }

    字符串

    1.字符串的定义

      go语言中的字符串其实是一个字节切片,把内容放在双引号 " " 中,便成功创建了一个字符串(go语言中单引号' '是无法生成字符串的)。go中的字符串是兼容Unicode编码的,并且string类型都是utf-8编码。

      go语言的字符有以下两种:

        1)一种是 uint8 类型,或者叫 byte 型,代表了ASCII码的一个字符。

        2)另一种是 rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型。rune 类型等价于 int32 类型。

    2.单独获取字符串的每一个字节

      len(s) 返回字符串中字节的数量。其中%X格式限定符用于指定 16 进制编码,此时打印得用 Printf( )。

    3.rune

      rune 是 int32 的别称,可以通过rune获取字符串中字符的数量。

    4.用 rune 切片构造字符串

    package main
    
    import  "fmt"
    
    func main() {  
        runeSlice := []rune{0x0053, 0x0065, 0x00f1, 0x006f, 0x0072}
        str := string(runeSlice)
        fmt.Println(str)
    }

      在上面的程序中 runeSlice 包含字符串 Señor的 16 进制的 Unicode 代码点。这个程序将会输出Señor

     

  • 相关阅读:
    python学习之字典合并
    python学习之列表、元组、集合、字典随笔
    图像检索中的概念
    卷积、反卷积、转置卷积资源
    计算机视觉顶级会议和期刊
    Week17
    Python协程资源
    深度图像资源
    Geo-localization论文阅读list2
    NetVLAD原理详解和推导
  • 原文地址:https://www.cnblogs.com/blue-tea/p/12032205.html
Copyright © 2011-2022 走看看