Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pointers 将切片转换为数组指针_Pointers_Opengl_Go_Slice - Fatal编程技术网

Pointers 将切片转换为数组指针

Pointers 将切片转换为数组指针,pointers,opengl,go,slice,Pointers,Opengl,Go,Slice,我有一些代码 var buffers [2]uint32 gl.GenBuffers(2, /* What here! */) gl.GenBuffers()要求输入一个int32和一个*uint32。在C语言中,您可以传递一个静态数组或指向它的指针,这一切都很好,但在Golang中,切片不起作用 我可以想到的两种方法是分配一个动态数组,或者将切片转换为指针数组 糟糕的是我也不知道怎么做。。。 我尝试了新的,但它并不像malloc那样工作。。。 我被难住了,任何帮助都会受到极大的欢迎 写: v

我有一些代码

var buffers [2]uint32
gl.GenBuffers(2, /* What here! */)
gl.GenBuffers()要求输入一个int32和一个*uint32。在C语言中,您可以传递一个静态数组或指向它的指针,这一切都很好,但在Golang中,切片不起作用

我可以想到的两种方法是分配一个动态数组,或者将切片转换为指针数组

糟糕的是我也不知道怎么做。。。 我尝试了新的,但它并不像malloc那样工作。。。 我被难住了,任何帮助都会受到极大的欢迎

写:

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])
}
游乐场:

输出:

2 0x10410020
int32 *uint32