说明:
程序是转载过来的, 但是开始运行时,没有成功,后来去看了下https://github.com/lxn/walk 这个包的使用方法,
成功了。希望对其他有借鉴。
编译方法见:
https://github.com/lxn/walk
这里有一个文件需要放在编译后的文件夹中,就是
test.exe.manifest
=== test.go
package main
import (
"fmt"
"log"
"net"
"strings"
)
import (
"github.com/lxn/walk"
. "github.com/lxn/walk/declarative"
)
func main() {
var te *walk.TextEdit
if _, err := (MainWindow{
Title: "Test",
MinSize: Size{300, 200},
Layout: VBox{},
Children: []Widget{
TextEdit{
AssignTo: &te,
},
PushButton{
Text: "LocalAddr",
OnClicked: func() {
text := GetAddr()
te.SetText(text)
},
},
},
}).Run(); err != nil {
log.Fatal(err)
}
}
func GetAddr() string { //Get ip
conn, err := net.Dial("udp", "baidu.com:80")
if err != nil {
fmt.Println(err.Error())
return "Erorr"
}
defer conn.Close()
return strings.Split(conn.LocalAddr().String(), ":")[0]
}
有疑问加站长微信联系(非本文作者)