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).
The function make
creates slices, maps, and channels, and it returns an initialized value of type T. The make()
call allocates a new, hidden array to which the returned slice value refers.
package main
import "fmt"
func main(){
ptr := new(int)
*ptr = 100
fmt.Println("*ptr = ", *ptr)
slice := make([]int, 10) // slice with len(slice) == cap(slice) == 10
for i:=0; i<len(slice); i++{
fmt.Println(slice[i])
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With