gpt4 book ai didi

pointers - 将 slice 转换为数组指针

转载 作者:IT王子 更新时间:2023-10-29 02:10:15 26 4
gpt4 key购买 nike

我有这段代码,

var buffers [2]uint32
gl.GenBuffers(2, /* What here! */)

gl.GenBuffers() 要求一个 int32 和一个 *uint32。在 C 语言中,您可以传递一个静态数组或指向它的指针,一切都会很好,但在 Golang 中, slice 不起作用...

我能想到的两种方法是分配动态数组,或者将 slice 转换为指针数组,

糟糕的是我也不知道该怎么做...我试过新的,但它并不像 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])
}

Playground :https://play.golang.org/p/J-tKynWv5P1

输出:

2 0x10410020
int32 *uint32

关于pointers - 将 slice 转换为数组指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48738818/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com