我開始學習圍棋,希望有人能幫助我理解一些東西。如何讀取 address 返回的值syscall.GetcomputerName?我知道該調用會將地址存儲在變量中y。謝謝package mainimport "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)}
1 回答

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
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
- 1 回答
- 0 關注
- 164 瀏覽
添加回答
舉報
0/150
提交
取消