Go 获取存储在地址中的值
我开始学习围棋,希望有人能帮我理解一些东西。如何读取syscall.GetcomputerName返回的地址处的值?我知道那个调用将把地址存储在变量y中。多谢各位Go 获取存储在地址中的值,go,memory-address,Go,Memory Address,我开始学习围棋,希望有人能帮我理解一些东西。如何读取syscall.GetcomputerName返回的地址处的值?我知道那个调用将把地址存储在变量y中。多谢各位 package main import "fmt" import "syscall" import "os" func main() { x, err := os.Hostname() y := syscall.GetComputerName if err != nil { fmt.Pri
package main
import "fmt"
import "syscall"
import "os"
func main() {
x, err := os.Hostname()
y := syscall.GetComputerName
if err != nil {
fmt.Println(err)
}
fmt.Println(x)
fmt.Println(y)
}
syscall.GetComputerName是函数的地址。要执行syscall.GetComputerName函数,请使用函数调用运算符。例如,在Windows上
package main
import (
"fmt"
"syscall"
"unicode/utf16"
)
func ComputerName() (name string, err error) {
var n uint32 = syscall.MAX_COMPUTERNAME_LENGTH + 1
b := make([]uint16, n)
e := syscall.GetComputerName(&b[0], &n)
if e != nil {
return "", e
}
return string(utf16.Decode(b[0:n])), nil
}
func main() {
name, err := ComputerName()
if err != nil {
fmt.Println(err)
return
}
fmt.Println("ComputerName:", name)
}
输出:
ComputerName: PETER
syscall.GetComputerName是函数的地址。要执行syscall.GetComputerName函数,请使用函数调用运算符。例如,在Windows上
package main
import (
"fmt"
"syscall"
"unicode/utf16"
)
func ComputerName() (name string, err error) {
var n uint32 = syscall.MAX_COMPUTERNAME_LENGTH + 1
b := make([]uint16, n)
e := syscall.GetComputerName(&b[0], &n)
if e != nil {
return "", e
}
return string(utf16.Decode(b[0:n])), nil
}
func main() {
name, err := ComputerName()
if err != nil {
fmt.Println(err)
return
}
fmt.Println("ComputerName:", name)
}
输出:
ComputerName: PETER
因为这是一个函数,所以它将是函数的地址。但这真的不是很有用。为什么不尝试调用该函数呢?正如我所说,我刚刚开始学习Go,不太确定如何在这个实例中进行添加,但它似乎需要两个参数,因此也必须提供参数。好的,有意义,我只是检查了定义,但不确定如何实现,或者我是否正确使用了它:func GetComputerNamebuf*uint16,n*uint32 error error{}@user7421969对不起,你想实现什么?我假设你需要得到你机器的计算机名信息,对吗?因为这是一个函数,它将是函数的地址。但这真的不是很有用。为什么不尝试调用该函数呢?正如我所说,我刚刚开始学习Go,不太确定如何在这个实例中进行添加,但它似乎需要两个参数,因此也必须提供参数。好的,有意义,我只是检查了定义,但不确定如何实现,或者我是否正确使用了它:func GetComputerNamebuf*uint16,n*uint32 error error{}@user7421969对不起,你想实现什么?我想你需要得到你机器的计算机名信息,对吗?谢谢你,彼得!你的例子很好地解释了这一点。谢谢你,彼得!你的例子很好地解释了这一点