-
fyne的程序对象和窗口对象
程序对象使用"fyne.io/fyne/v2/app"包中的app.New()或app.NewWithID(id string)创建App是一个接口,在"fyne.io/fyne/v2"包中的app.go文件中定义APP接口中定义的方法 NewWindow(title string) Window :为应用程序创建一个指定标题的新窗口对象 OpenURL(url *url.URL) error :在默认浏览器程序中打开URL Icon() Resource :返回应用程序图标资源 Resource表示单个二进制资源 type Resource interfac...
2024-08-06 -
Go中的url解析
Go中的"net/url"实现了url的解析相关功能包函数 QueryEscape(s string) string :对s进行转码使之可以安全的用在URL查询里 url:"https://domain.com/s?wd=中+文"转化后为 "https%3A%2F%2Fdomain.com%2Fs%3Fwd%3D%E4%B8%AD%2B%E6%96%87" QueryUnescape(s string) (string, error) :将QueryEscape转码的字符串还原 会把%AB转换为字符串"\xab","+"转换为" " JoinPath(ba...
2024-08-05 -
Go随机数操作
在Go中,"math/rand"包实现了伪随机数生成器,在Go的1.22版本,官方库中在保持"math/rand"包更新的基础上新增了"math/rand/v2"包主要变更点在于性能优化(算法重写)、规范和统一、新的随机生成器和实现补充等在"math/rand/v2"包中几乎将所有函数进行了重新命名,并且新增了很多更强的随机算法,以至于该包并不向前兼容本文我们将学习最新的"math/rand/v2"包type Source表示一个生成均匀分布在范围[0, 1<<64)的int64的伪随机资源Source对于并发使用是不安全的 type Source interface { ...
2024-08-05 -
Go中的协程同步
由于go天然对并发的支持使得go在一些并发任务处理时表现优异,但是并发会存在临界资源问题,当多个协程来访问共享资源时资源是不安全的在一般场景中为了解决这个临界资源问题,可以使用channel通道来解决,但是当协程结构比较复杂时处理比较复杂易出错Go的官方sync包实现了传统编程语言中的“锁”,通过一个“锁”将共享资源锁住,防止其它协程的访问,以此来解决临界资源问题type Once表示只执行一次动作的对象 func (o *Once) Do(f func()) Do方法当且仅当第一次被调用时才执行指定函数,即使每次调用提供的f值不同 f没有参数和返回值 只有f返回后Do方法才会返回,如...
2024-08-05 -
polars简介及数据类型
Polars是一个基于Rust语言开发的高性能数据处理和分析库,它的设计哲学主要围绕着性能优化、内存效率和易用性展开,旨在为Python开发人员提供可扩展且高效的数据处理框架,是非常流行的pandas库的替代品Polars的主要优势 性能与内存效率:利用Rust的高性能特性,如零成本抽象和系统级内存管理,实现了数据处理的高速执行和低内存占用。能够在保持快速响应的同时,处理比其自身内存更大的数据集 易用性:Polars提供了友好的API接口,尽量与pandas的接口兼容,使其易于学习和使用,让用户快速适应Polars并利用他们现有的知识 懒惰计算:Polars采用了懒惰计算策略,涉及检...
2024-07-26