seaswalker / posts

0 stars 0 forks source link

Golang slice两种初始化方式 #35

Open seaswalker opened 3 years ago

seaswalker commented 3 years ago
  1. 这样创建

    var result []string
    result = append(result, "hello")

    此写法是符合直觉的,像Java里面的list

    1. make
      result := make([]string, 0, 8)
      result = append(result, "hello")

      make第二个参数是len,第三个是cap(容量),len要是大于0的值(假如是8),那么append实际上会在第9个位置开始插入,这会导致range遍历的时候遍历到nil(如果是指针类型的slice的话)的值,如下图: image