-
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变量类型包含基础类型和复合类型,类型转换和类型断言一般是对基础类型的处理,基础类型包含整数、浮点数、布尔和字符串。 整数类型又称为整型,分…
-
字符串转换
Tuesday, August 29, 2023
strconv包在字符串和数值类型转换中非常重要,提供了字符串和基本数值类型之间的相互转换的功能。 基本数值类型转换 strconv 可以实现数值和字符串两种…
-
const+iota枚举最佳方式
Monday, August 28, 2023
Go中没有直接的枚举类型,但可以通过conts和iota来模拟枚举。 传统的枚举实现 const ( Sunday = 0 Monday = 1 Tuesday = 2 Wednesday = 3 Thursday = 4 Friday = 5 Saturday = 6 ) 这种方式不…
-
15.泛型
Thursday, August 24, 2023
2022年3月15日,泛型终于在Go1.18发布~ 函数的行参和实参 假设有个计算两数之和的函数: func Add(a int, b int) int { return a + b } 这个函数比较简单,但是…
-
14.其余的东东
Tuesday, August 22, 2023
if的初始化语句 有个saveString函数,返回一个error值(如没有错误,返回nil),在main函数中,可以在处理它之前将返回值存储…
-
13.goroutine和channel
Saturday, August 19, 2023
一次只做一件事并不总是完成任务最快的方法。goroutine可以让程序同时处理几个不同的任务,goroutine可以使用channel来协调…