-
Go匿名结构体提高搬砖效率
Wednesday, December 6, 2023
提高效率体现在两方面: 减少一些不会复用的类型定义 节省给类型起名字的时间 通过匿名结构体名字就知道,本身没有类型名字,能节省起名字的时间,也能减…
-
Go语言RWMutex读写互斥锁
Thursday, September 14, 2023
RWMutex 可以说是 Mutex 的改进版,在某些场景下可以发挥出更加强大、灵活的控制能力,比如读取数据的频率远大于写数据的频率的场景。如果在 1 次写然后 N 次读的场…
-
反射biubiubiu
Thursday, September 14, 2023
go的反射是一种强大且复杂的特性,允许创造更灵活、更动态的代码。 反射基本概念 什么是反射? 反射是检查自身结构的机制 反射是困惑的源泉 测验题目 如何…
-
Go读取配置文件的方式
Thursday, September 14, 2023
go有 viper 与 configor 配置管理方案。 viper管理配置 https://github.com/spf13/viper 支持多种配置文件格式,包括 JSON,TOML,YAML,HECL,envfile,甚至还包括J…
-
Go编程陷阱
Thursday, September 14, 2023
Go中有一些容易让人掉进去的陷阱,本篇列出一些常见的,教你如何避免。 Nil切片与空切片 var a []int //nil切片 b := []int{} //空切片 两者都没有元素,但…
-
Go中的JSON序列化与反序列化
Wednesday, September 13, 2023
JSON 是一种流行的数据交换格式,在Go中经常需要将结构体实例序列化为JSON字符串保存和传输。本文介绍使用Go中的encoding/json包将…
-
Go语言Mutex互斥锁
Tuesday, September 5, 2023
在并发编程中,我们常常会遇到多个 goroutine 同时访问共享资源的情况,这可能会导致数据的不一致性。为了解决这个问题,Go 语言提供了互斥锁(Mutex)机…
-
同步、异步、阻塞、非阻塞以及多路复用
Tuesday, September 5, 2023
经常会看到IO模型,同步阻塞,同步非阻塞,异步阻塞,异步非阻塞等等,看起来很晕。 《UNIX网络编程:卷一》第六章 ,看看IO模型的本质。 Soc…
-
Go关键字与标识符
Tuesday, September 5, 2023
关键字和标识符是每个编程语言的基础元素,用于构成语法结构,Go也有关键字和标识符。 Go语言关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for…
-
类型转换与类型断言
Tuesday, August 29, 2023
Go变量类型包含基础类型和复合类型,类型转换和类型断言一般是对基础类型的处理,基础类型包含整数、浮点数、布尔和字符串。 整数类型又称为整型,分…