注册 登录

清河洛

您现在的位置是:清河洛 > 后端服务

后端服务

  • 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
  • Go中base64和hex的编码解码

    base64Go官方库中encoding/base64包实现了base64的相关编码解码操作常量 var StdPadding = '=' var NoPadding = -1 var StdEncoding = NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/") RFC4648定义的标准base64编码字符集,使用"="末尾填充 RawStdEncoding :不使用末尾填充 相当于StdEncoding.WithPadding(NoPadding) var...

    2024-07-19
  • Go的json序列化

    Go的官方encoding/json包实现了常用的json序列化功能包级函数Compact(dst *bytes.Buffer, src []byte) error :将json编码的src中无用的空白字符剔除后写入dstHTMLEscape(dst *bytes.Buffer, src []byte)将json编码的src中的<、>、&、U+2028 和U+2029字符替换为\u003c、\u003e、\u0026、\u2028、\u2029 以便json编码可以安全的嵌入HTML的<script>标签里 因为历史原因,浏览器不支持在<scrip...

    2024-07-19


网址导航