在go编程语言中如何为数组分配内存?
我想在go中创建一个大小为N的数组,但我不知道编译时N是什么,我将如何为其分配内存?
例如,
func MakeArray(size int) {
return new ([size]int)
}
这不起作用,因为大小不是常数。
这似乎是一个简单的问题,但我刚刚开始使用 go,通过阅读教程(或搜索相关文档),我并不清楚如何做到这一点。
I want to make an array of size N in go, but I don't know what N will be at compile time, how would I allocate memory for it?
e.g.
func MakeArray(size int) {
return new ([size]int)
}
which doesn't work since size is not a constant.
This seems like a simple question, but I just started using go and it's not obvious to me how to do this from reading the tutorial (or searching the documentation for that matter).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
函数
make
创建切片、映射和通道,并返回 T 类型的初始化值。make()
调用分配一个新的隐藏数组,返回的值将存储在该数组中。切片值指的是。The function
make
creates slices, maps, and channels, and it returns an initialized value of type T. Themake()
call allocates a new, hidden array to which the returned slice value refers.对于切片,Go
make
内置函数有两个或三个参数。For slices, the Go
make
built-in function has two or three arguments.