我有这段代码,
var buffers [2]uint32
gl.GenBuffers(2, /* What here! */)
gl.GenBuffers()要求输入int32和* uint32。在C中,你传递一个静态数组或一个指向它的指针,一切都会好,但在Golang中,切片不起作用......
我能想到的两种方法是分配动态数组,或将切片转换为指针数组,
不好的是,我不知道该怎么做...... 我试过新的,但它并不像malloc那样真正起作用...... 我很难过,任何帮助都会受到很大的限制!
答案 0 :(得分:1)
写:
var buffers [2]uint32
gl.GenBuffers(int32(len(buffers)), &buffers[0])
例如,
package main
import (
"fmt"
)
func main() {
var buffers [2]uint32
fmt.Printf("%d %p\n", int32(len(buffers)), &buffers[0])
fmt.Printf("%T %T\n", int32(len(buffers)), &buffers[0])
}
游乐场:https://play.golang.org/p/J-tKynWv5P1
输出:
2 0x10410020
int32 *uint32