一、第一个 Go Walk 程序
package main import ( . "github.com/lxn/walk/declarative" ) func main() { mainWindow.Run() } var LableHello=Label{ Text: "Hello world!", } var widget=[]Widget{ LableHello, } var mainWindow=MainWindow{ Title:"MainWindow", MinSize:Size{400, 200}, Layout:VBox{}, Children:widget, }
编译:go build -ldflags="-H windowsgui"
MainWindows 常用属性:
TiTle 标题,
Size尺寸
Layout排列方式VBox(垂直排列)、HBox(水平排列)
ContextMenuItems,上下文菜单 ,[]MenuItem类型
Children控件列表,[]Widget类型
MenuItems主菜单列表 ,[]MenuItem类型
ToolBarItems工具栏列表 ,[]MenuItem类型
二、变量:
变量声明
Go语言引入了关键字 var ,而类型信息放在变量名之后,示例如下:
var i int var str string
var 关键字可以将若干个需要声明的变量放置在一起,避免重复,如下所示:
var ( i int str string )
变量初始化
var i int = 10 var str = "Hello" i3 := 10
第三种i3自动识别为int类型
注:当定义全局变量时不能用第三种方法
有相同类型的多个变量同样可以在一行内完成声明:
var x, y int
让 x 和 y 都是 int类型变量。
同样可以使用平行赋值:
a, b := 1,2
交换 i 和 j 变量的语句,不需要引入中间变量:
i, j = j, i
Go 的编译器对声明却未使用的变量在报错。
一个特殊的变量名是 _ (下划线)。任何赋给它的值都被丢弃。
_, b := 1, 2
在这个例子中,将 2赋值给 b ,同时丢弃 1。
二、基本类型
1、bool 类型,长度为1 ,只有true, false两种,注:不能把非零值当作 true
2、byte类型,长度为了, uint8 别名
3、int类型
a.rune 类型,长度为4 ,int32 别名。代表一个 Unicode 字符。
b.int/uint 4 依据所运行的平台,可能是 32bit 或 64bit。
c.int8/uint8 1 1 -128 ~ 127; 0 ~ 255
d.int16/uint16 2 -32768 ~ 32767; 0 ~ 65535
e、int32/uint32 4 -21 亿 ~ 21 亿, 0 ~ 42 亿
4、复数类型
a.complex64 ,即 32 位实数+32 位虚数
b.complex128 复数类型,即 64 位实数+64 位虚数
5、uintptr 能够保存指针的 32 位或 64 位整数
6、array 数组,如:[2] int
7、struct 结构体,
8、string
9、slice如: []int
10、map
11、channel