精华内容
下载资源
问答
  • 一、第一个 Go Walk程序 package main import ( . "github.com/lxn/walk/declarative" ) func main() { mainWindow.Run() } var LableHello=Label{ Text: "Hello world!", } var widget=...

    一、第一个 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 

     

    转载于:https://www.cnblogs.com/gobuild/p/5985860.html

    展开全文
  • go walk使用记录(一)

    千次阅读 2019-04-29 13:36:50
    go walk库可以做什么 - 为什么用go walk:想开发一些图形化工具,工作当中很多时候还是有小工具需求的。 前置注意点 - 官网https://github.com/lxn/walk: "Go 1.7.x doesn't work with walk anymore, Make sure ...

    一、go walk库可以做什么

    - 为什么用go walk:想开发一些图形化工具,工作当中很多时候还是有小工具需求的。
    

    二、前置注意点

    官网https://github.com/lxn/walk: "Go 1.7.x doesn't work with walk anymore, Make sure you use Go 1.8.x or later."
    

    三、流程记录

    1. 安装walk库 go get https://github.com/lxn/walk
    2. 安装编译时依赖的库(rsrc,官网给出的定义是"Tool for embedding binary resources in Go programs.",这个是把资源二进制文件打入到go程序中,比如下文的manifest文件) go get github.com/akavel/rsrc
    3. .manifest后缀文件放在源码main函数同级目录. .maifest文件直接可以在walk官网拷贝,这里照搬过来。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
        <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="SomeFunkyNameHere" type="win32"/>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
            </dependentAssembly>
        </dependency>
        <asmv3:application>
            <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
                <dpiAware>true</dpiAware>
            </asmv3:windowsSettings>
        </asmv3:application>
    </assembly>
    
    1. 编译go build需要的syso文件。

    rsrc -manifest test.manifest -o rsrc.syso

    1. 开发程序,官网demo
    package main
    
    import (
    	"github.com/lxn/walk"
    	. "github.com/lxn/walk/declarative"
    	"strings"
    )
    
    func main() {
    	var inTE, outTE *walk.TextEdit
    
    	MainWindow{
    		Title:   "SCREAMO",
    		MinSize: Size{600, 400},
    		Layout:  VBox{},
    		Children: []Widget{
    			HSplitter{
    				Children: []Widget{
    					TextEdit{AssignTo: &inTE},
    					TextEdit{AssignTo: &outTE, ReadOnly: true},
    				},
    			},
    			PushButton{
    				Text: "SCREAM",
    				OnClicked: func() {
    					outTE.SetText(strings.ToUpper(inTE.Text()))
    				},
    			},
    		},
    	}.Run()
    }
    
    1. go build -ldflags="-H windowsgui"

    -ldflags="-H windowsgui" 是为了隐藏黑色的cmd界面。 不加默认启动2个界面
    在这里插入图片描述

    1. 扩展

    在网上看到了有人分享了一个很好的小软件(例子的地址:https://studygolang.com/articles/10755),就是用walk写的,可以学到很多写法,效果图如下。
    在这里插入图片描述

    展开全文
  • go walk 消息窗

    2020-04-10 15:24:48
    简要介绍Go GUI框架Walk 消息窗的使用,附上代码

    golang walk MsgBox 消息窗的使用

    walk.MsgBox
    1. 消息窗
    func MsgBox(owner Form, title, message string, style MsgBoxStyle) int
    
    • owner Form 父窗体句柄

    • title 消息窗的标题

    • message 消息内容

    • style 消息窗的样式

    walk.MsgBox(
    		mw,
    		"Title",
    		"Message",
    		walk.MsgBoxServiceNotification)
    

    参数style 取值比较多可参照 walk 包下面的 messagebox.go 中定义的

    1. 消息按钮事件的触发

      walk.MsgBox 方法的返回值是int ,这个返回值就是点击消息窗按钮时返回的,返回用户点击的具体的按钮的Id,可以通过判断这个来触发点击回调。具体实现如下,部分关键代码:

      OnClicked: func() {
      			cmd=walk.MsgBox(
      				mw,
      				"Title",
      				"Message",
      				walk.MsgBoxYesNoCancel)
      			switch cmd {
      			case walk.DlgCmdYes:
      				le.SetText("click 是")
      			case walk.DlgCmdCancel:
      				le.SetText("click 取消")
      			case walk.DlgCmdNo:
      				le.SetText("click 否")
      			}
      		},
      
    展开全文
  • Go walk树的Erlang翻译

    2015-03-10 19:41:01
    <p>I am trying to implement the <code>Walk</code> function from <a href="http://golang.org/doc/play/tree.go" rel="nofollow">here</a> which is implemented in Go into erlang. <p>Here is the result: ...
  • <p>I am trying to understand how data binding works in Go <a href="https://godoc.org/github.com/lxn/walk" rel="nofollow">walk</a>. <p>I have reviewed the somewhat complex ...
  • Go里面 if 条件判断语句中不需要括号, a := 10if a == 10 {fmt.Println("OK")} Go的 if 条件判断语句里面允许声明一个变量,这个变量的作用域只能在该条件逻辑块内, if a := 10; a == 10 {fmt.Println("OK")} ...

     

    Go里面 if 条件判断语句中不需要括号,

    a := 10
    if a == 10 {
    fmt.Println("OK")
    }

    Go的 if 条件判断语句里面允许声明一个变量,这个变量的作用域只能在该条件逻辑块内,

    if a := 10; a == 10 {
    fmt.Println("OK")
    }

    package main
    import (
    	"log"	
    )
    import (
    	"github.com/lxn/walk"
    	. "github.com/lxn/walk/declarative"
    )
    var le *walk.LineEdit
    var sport *walk.CheckBox
    func main() {
    	if _, err := MainWindow1.Run(); err != nil {
    		log.Fatal(err)
    	}
    	log.Fatal(Bind("enabledCB.Checked"))
    }
    var MainWindow1=MainWindow{
      Title:   "MainWindow",
      MinSize: Size{300, 200},
      Layout:  VBox{},   
      Children: widget,
    }
    
    var widget=[]Widget{
      LineEdit1,
      CheckBoxSport, 
      PushButtonOK,
    }
    
    var LineEdit1=LineEdit{  
      AssignTo: &le,
    }
    
    var CheckBoxSport=CheckBox{
      AssignTo: &sport,
      Text:    "喜欢运动",
      Checked: true,
    }
    
    
    var PushButtonOK=PushButton{
      Text: "OK",
      OnClicked:OK_Clicked,
    }
    func OK_Clicked(){  
      if(sport.Checked()){  
        le.SetText("喜欢运动")
      }else{
        le.SetText("不喜欢运动")
      }
      
    }
    

      

    CheckBox属性:

    Checked  是否选中 ,Property类型

    先声明一个变量

    var sport *walk.CheckBox

    再把变量绑定到控件中

    var CheckBoxSport=CheckBox{
      AssignTo: &sport,
      Text: "喜欢运动",
      Checked: true,
    }

    就能使用

    sport.Checked()

    转载于:https://www.cnblogs.com/gobuild/p/5985887.html

    展开全文
  • 前面我们完成了一个网页端的上传oss... 现在我们把前后端分离 前端使用walk开发,window界面 后台服务器使用go接收图片并上传到oss ,服务器端操作流程:https://blog.csdn.net/daily886/article/details/10340940...
  • Go的 switch 非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项,不要break; var score =98 var result string switch score/10 {  case 9,10:result="优秀"  case 8:result="良好...
  • Go的控制逻辑 for ,即可以用来循环读取数据,又可以当作 while 来控制逻辑,还能迭代操作。 第一种,类似于C sum := 0; for index:=0; index < 10 ; index++ { sum += index } 第二种,for 配合 ...
  • 前面我们完成了一个网页端的上传... 现在我们把前后端分离 前端使用walk开发,window界面 ,客户端操作流程:https://blog.csdn.net/daily886/article/details/103432917 后台服务器使用go接收图片并上传到oss ...
  • <p>I am trying to figure out the basics of working with the Go GUI library, <a href="https://godoc.org/github.com/lxn/walk" rel="nofollow">walk</a>. <p>For starters, I would like to be able to ...
  • Go语言 walk

    2012-10-11 15:19:02
    windows平台上开发Go语言应用程序的,必备的ui包,资源全面,是做出美好界面不可缺少的好资源!仅限winxp/win7。
  • Gowalk库报错

    2020-10-26 18:03:06
    C:\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1 C:/TDM-GCC-64/bin/…/lib/gcc/x86_64-w64-mingw32/9.2.0/…/…/…/…/x86_64-w64-mingw32/bin/ld.exe: i386 architecture of input ...
  • Go语言GUI Demo 之 Walk

    万次阅读 2016-11-10 15:35:34
    Go语言没有自带官方Gui,目前找到的Gui框架中感觉Walk还不错,但该库只支持Windows操作系统(一般也只用到Windows)。本次我把官方的example编译成exe,方便网友参考Walk 的gui功能。Walk地址:...
  • 这是什么 这是并发目录遍历库。 它通过呼叫者必须服务的渠道返回结果。 调用者可以指定有趣的条目: 档案 目录 特殊文件(符号链接,设备节点等) 上述所有的 ... go func () { for err := range errch {
  • GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。 关于Walk界面库(官方介绍): ...
  • Go窗体练习(Walk包)

    2021-04-06 14:25:32
    Go窗体学习(Walk包)前言准备代码结果 前言 由于老师让我们做一个窗体程序,正巧我在学习go,于是搜索了一下go是否能做窗体,结果就发现了walk包,题目为字符串解析(大概就是输出一下前后缀等等) 准备 安装github...
  • Go GUI :lxn/walk 开始

    2020-12-01 09:45:58
    Go GUI :lxn/walk 开始安装代码示例创建清单文件 main.manifest生成 .syso 文件编译运行结果 安装 go get github.com/akavel/rsrc go get github.com/lxn/win go get github.com/lxn/walk 代码示例 package main ...
  • Go与GUI--Go语言的图形界面Walk

    万次阅读 2018-06-16 11:46:40
    GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。  Walk是一个写给Golang的Window应用...
  • go使用walk创建window界面,与ai对话

    千次阅读 2019-07-29 17:43:16
    前面我们学过搭建ai服务器:... 下面,我们在window系统中,使用walk创建一个window界面,与ai对话 walk github :https://github.com/lxn/walk 需要用到的第三方包有: go get github.com/gin-gonic/gin...
  • go桌面开发(walk)测试

    2021-03-14 21:36:35
    "github.com/lxn/walk/declarative" ) func main() { mw := MainWindow{ Title: "测试窗口", Size: Size{500, 500}, Layout: VBox{MarginsZero: true}, Children: []Widget{ TextLabe.
  • Go的GUI库Walk——布局

    2021-03-20 21:14:16
    go 的gui库比较多,但许多缺乏官方文档,学习起来有一定的困难。经过再三考虑,本人选择了其中的walk库进行学习,这个库只能运行在windows平台上。walk库的语法风格像JavaScript,可以快速构建gui程序,同时界面也...
  • Go --walk开坑记:1

    2019-09-22 21:59:28
    本文适合和我一样的go语言及walk库初学者 首先安装walkgo get https://github.com/lxn/walk 安装rsrc库(编译运行需要的环境) go get github.com/akavel/rsrc 配置.manifest后缀文件内容(放在src目录工程下,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,318
精华内容 927
热门标签
关键字:

gowalk