gpt4 book ai didi

go - 获取存储在地址中的值

转载 作者:IT王子 更新时间:2023-10-29 01:53:49 28 4
gpt4 key购买 nike

我开始学习 GO,希望有人能帮助我理解一些东西。如何读取 syscall.GetcomputerName 返回的地址值?我知道该调用会将地址存储在变量 y 中。谢谢

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

Microsoft: GetComputerNameW

关于go - 获取存储在地址中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52901072/

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