go 学习笔记---切片

  1. 删除切片最后一个值
    scores := []int{1, 2, 3, 4, 5}
    lastIndex := len(scores)-1
    source[:lastIndex]
    scores = scores[:lastIndex]

  2. 创建一个切片,底层数组是10, 长度是0
    scores := make([]int, 0, 10) //cap=10 len=0
    //cap=10 , len=3
    scores := make([]int, 3, 10)
    scores = append(scores, 1)
    //注意此时scores 是: [0 0 0 1]

  1. 交换切片中index,和lastIndex 的位置
    source[index], source[lastIndex] = source[lastIndex], source[index]

  2. Go 用了一个简单的规则去定义什么类型和函数可以包外可见。如果类型或者函数名称以一个大写字母开始,它就具有了包外可见性。如果以一个小写字母开始,它就不可以。

  3. 代码格式化: go fmt ./…
    当你在一个项目内的时候,你可以运用格式化规则到这个项目及其所有子目录

  4. Go 对 if 语句做了稍微修改,支持在条件语句被求值之前先进行初始化:

    if x := 10; count > x {
    ...
    }
  5. 空接口 interface{}
    因为空接口没有方法,可以说所有类型都实现了空接口,并且由于空接口是隐式实现的,因此每种类型都满足空接口契约。
    (个人理解:空接口可以接受任何类型)

    type User struck {
     Name string
     Age int
    }
    var user interface{} = User{"wubuze", 20}
  6. 空接口类型转换 .(Type)
    延用上例的user

    u,ok := user.(User)  // 转成了struct类型
    fmt.Println(u.Name, ok) 
本作品采用《CC 协议》,转载必须注明作者和本文链接
wubuze
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!