-
Go中的泛型
本该很早就编写关于Go的泛型相关的文章的,但是在通过网络上的只言片语初窥了Go泛型的使用方法后就直接在后续的开发中使用了泛型,直到在实际开发中不断的遇到问题,然后网络搜索后解决问题,经过几次这样的循环,导致了想系统的学习以下Go的泛型Go在1.18版本中正式支持了泛型,具体的设计思路是经过了一系列的进化和取舍后才有了最终的发布形态,如果想要了解Go的泛型设计进化历程,请查看该篇博客文章,写的很好空接口和泛型的区别 空接口 interface{} 空接口是没有定义任何方法的接口,因此任何类型都默认实现了空接口,可以用来存储任意类型的值 空接口在使用时需要通过类型断言或反射来还原原始类型,这...
2024-08-19 -
fyne中的弹窗
在"fyne/dialog"包中对弹窗相关的功能进行了实现在fyne的弹窗中,有一个所有弹窗的基本接口,规定了一个弹窗的基本实现方法弹窗是基于fyne.Window窗口的,所以每个弹窗在创建时要指定其所处的窗口当弹窗显示时会使用遮罩层覆盖所在Window窗口,无法对弹窗下层进行交互操作 type Dialog interface { Show() Hide() SetDismissText(label string) // 默认关闭按钮的文本 SetOnClosed(closed func()) // 弹窗关闭时的运行函数 ...
2024-08-15 -
fyne中的URI相关
fyne.URI表示系统上的资源标识符,资源可以是文件或其他数据源在fyne主包中对fyne.URI及相关接口进行了定义 type URI interface { fmt.Stringer Extension() string // 带点的文件后缀名 Name() string // 文件名 MimeType() string Scheme() string // 协议名,本地文件使用"file"协议 Authority() string // 主机名+端口号 Path() string Query(...
2024-08-15 -
fyne中的数据双向绑定
fyne在v2.0.0版本中引入了数据绑定功能,可以避免手动管理标准对象在"fyne/data/binding"包中实现了数据绑定数据的绑定是“双向的”,这意味着可以将值推入其中并读出数据的变化将传达给所有关联的对象,无需任何额外的代码即可实时同步更新当前支持的数据类型 基础类型(7种) Bool、Bytes、Float、Int、Rune、String、fyne.URI 基础类型对应的列表(8种) BoolList、BytesList、FloatList、IntList RuneList、StringList、URIList 特殊的列表类型:Untype...
2024-08-14 -
fyne中的常用组件
fyne中的组件是在主包中定义的 type Widget interface { CanvasObject CreateRenderer() WidgetRenderer } 有些有交互性的画布还有启用和禁用的方法 Disable() Disabled() bool Enable() 组件是一种关联了不同交互行为的特殊画布对象WidgetRenderer表示组件实现的特定行为,一般我们不需要进行修改在"fyne/widget"包中实现了很多种在软件开发过程中会用到的各种组件分隔符(Separator)使用主题颜色的分隔符 type Separator struct {}...
2024-08-14