This is a creation in Article, where the information may have evolved or changed.
Description
The program is reproduced, but began to run, did not succeed, then went to see the next https://github.com/lxn/walk the use of this package,
It worked. Hope to learn from others.
To compile the method see:
Https://github.com/lxn/walk
Here is a file that needs to be placed in the compiled folder, which is
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]
}