golang sort int


func reverse3(s []int) {
    s = append(s, 999)
    fmt.Println("middle: ", s)
    for i, j := 0, len(s)-1; i < j; i++ {
        j = len(s) - (i + 1)
        s[i], s[j] = s[j], s[i]
    }
    fmt.Println("internal: ", s)
}
func Test3(t *testing.T) {
    var s []int
    for i := 1; i <= 3; i++ {
        s = append(s, i)
    }
    fmt.Println(s)
    reverse3(s)
    fmt.Println(s) // todo 这个老变量 的指针 还是3个
    /**
      [1 2 3]
      middle:  [1 2 3 999]
      internal:  [999 3 2 1]
      [999 3 2]
    */
}

切片 定义:
type slice struct {
array unsafe.Pointer
len int // 这个值 外边A 里面A 不一样了.
cap int
}

评论