请看下面的代码
names := make([]string, 0, 100)
names = append(names, "Jack")
names = append(names, "Jacob")
// adding many names in here
Run Code Online (Sandbox Code Playgroud)
鉴于这样的情况:我会从其他地方得到这些名字,在此之前我不知道它的大小.所以我需要一个包含这些名称的动态数组.上面的代码是我提出的方式.我很想知道是否有更优雅的方式来做到这一点.
如果我这样初始化
names := make([]string, 100, 200)
// then I use append in here
// I would get first 100 elements as empty, the append start at index 101.
Run Code Online (Sandbox Code Playgroud)
我想这会浪费在记忆上.我是静态编程语言的新手,所以如果这篇文章中有任何错误的概念,请指出.
只是声明类型,然后为其分配附加的切片:
package main
import "fmt"
func main() {
var names []string
names = append(names, "foo")
names = append(names, "bar")
fmt.Println(names)
}
Run Code Online (Sandbox Code Playgroud)
产量:
>> [foo bar]
Run Code Online (Sandbox Code Playgroud)
如果您正在使用它的机制,这里有一个很好的博客文章.
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |