Golang:不安全的动态字节数组

cho*_*wey 5 arrays dll pointers go

我正在尝试使用Go与Windows dll连接.我想要使​​用的DLL函数接受一个指向字节数组的指针.因此我需要给它那个字节数组.

我使用的系统调用 libary调用DLL,这表现在这里.我的基本要求是:

  • 我得到了字节数组所需的大小
  • 我创建了字节数组
  • 我必须得到一个指向字节数组的指针
  • 然后我将指针传递给Windows dll

我无法弄清楚如何在go中创建一个字节数组,并获得指向它的指针.这显然是一个不安全的操作,不安全的库可能会有所帮助,但我需要首先创建一个动态长度的字节数组.使用"make"创建切片对我没有帮助,除非我可以获得指向切片的支持数组的指针.

有没有其他人遇到这个或有任何想法?

ale*_*lex 3

我认为 syscall.ComputerName 实现https://golang.org/src/syscall/syscall_windows.go#395将是一个很好的例子。它使用 uint16,而不是字节,但除此之外......

在你的情况下,它会是ptr := &myslice[0]

亚历克斯