在golang源代码中,经常看到各种文件名,比如: bolt_windows.go。 下面对文件名命令规则的说明: 1、平台区分 文件名_平台。 例: file_windows.go, file_unix.go 可选为:…
标签:golang
10分钟学会go module
目录 基本使用 环境准备 初始化go module环境 下载依赖包 添加新依赖包 将依赖包下载到vendor目录 亮点功能一:使用replace本地包替换 亮点功能二:语意化版本 semver—Semanti…
关于golang的http库及常用库
go语言作为一个面向网络 面向服务 高并发的一门通用语言 http库是非常重要的 下面我们来了解http库及其他标准库 http库可以对客户端做很多的工作 下面我们来看一下 func main() { resp, err…
Go 语言编程 — 并发 — GMP 调度模型
目录 文章目录 目录 并发和并行 如何交互?CSP 通信模型 如何调度?GMP 调度模型 用户级线程模型(多对一) 内核级线程模型(一对一) 两级线程模型(多对多) GMP 线程模型 Go Runtime Schedul…
Golang 设置缓存随机过期时间的小技巧
Golang 设置缓存随机过期时间的小技巧 写项目过程,设置缓存过期时间时候想添加随机数时间过期,用到一个小技巧,随手记录一下 代码如下: func CacheTimeGenerator() time.Duration …
go解析ini文件并支持section及注释
go解析ini文件,支持section, 如果不带section,则 section 名默认为 “default”;也支持文件中的注释;一个节可以扩展或者通过在节的名称之后带一个冒号(:)来继承目标节的数据,如…
golang获取文件夹下面的文件列表
golang的文档里面比较容易找到的一个方法是filepath.Walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方法代码写起来也比较…
详解TCP协议三次握手四次挥手
三次握手: 三次握手表示建立通信阶段,在TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠,由于这种面向连接的特性, TCP协议可以保证传输数据的安全,所以应用十分广泛。例如上传文件、下载…
Golang和Erlang的协程调度
Go 语言和 Erlang 都是面向并发应用的语言,都采用轻量级线程和消息传递模型。尽管Go在语法上也支持共享,但必须以通信的方式同步方能保证其正确性。Erlang则是完全不支持进程间的共享,状态信息完全需要依靠消息彼此…
【GoLang】与或非 异或操作
在Go规范,^这个运算符在一元运算符和二元运算符中都出现了。那么他们分别是啥?在规范中说道:^ bitwise XOR integers这是按位异或。 Go语言位操作实例 <!-- lang: cpp…
怎么优化GO语言服务的内存占用
内存优化: 1.小对象合并成结构体一次分配,减少内存分配次数 2. 缓存区内容一次分配足够大小空间,并适当复用 3.slice和map采make创建时,预估大小指定容量 4.长调用栈避免申请较多的临时对象 5.避免频繁创…
Golang 条件语句
在Go语言中,条件语句主要包括有if 、 switch 与 select。 注意: Go语言中没有三目运算符,不支持 ?: 形式的条件判断。 if 语句 最简单的if语句 最简单的 if 语句的基本语法: if 条件判断…