本文使用代码片段的形式来解释在 go 语言开发中经常遇到的小功能点,由于本人主要使用 java 开发,因此会与其作比较,希望对大家有所帮助。
分类: Go
如何让你的结构体更高效
> 文中所涉及到的代码运行结果均是在64位机器上执行得到的. ## 基础知识回顾 在Go中,我们可以使用`unsafe.Sizeof(x)`来查看变量所占的内存大小。以下是Go内置的数据类型占用的内存大小: | 类型 | 内存大小(字节数) | | : | : | | bool | 1 | |
上游服务不可用了,下游服务如何应对?
# 1. 引言 在系统中,上游服务和下游服务是两个关键概念。上游服务通常指的是提供某种功能或数据的服务端,它接收来自下游服务的请求,并根据请求进行处理和响应。下游服务通常指的是发起请求并依赖上游服务的客户端,它们通过发送请求向上游服务请求数据或执行某些操作。 上游服务和下游服务之间的协作是系统中实现
算法 in Go:Binary Search(二分查找)
# 算法 in Go:Binary Search(二分查找) ## Binary Search(二分查找) ### Binary Search(二分查找) – 猜数 – 1、2、3、4、5、6、7、8 – 排好序一个集合,先从中间开始猜,根据提示就可以排除一半,在剩余的一半里,再从中间开始猜,依此类
从源码分析 Go 语言使用 cgo 导致的线程增长
TDengine Go 连接器 使用 cgo 调用 taos.so 中的 API,使用过程中发现线程数不断增长,本文从一个 cgo 调用开始解析 Go 源码,分析造成线程增长的原因。 ## 转换 cgo 代码 对 driver-go/wrapper/taosc.go 进行转换 `go tool cg
包含引用类型字段的自定义结构体,能作为map的key吗
# 1. 引言 在 Go 语言中,`map`是一种内置的数据类型,它提供了一种高效的方式来存储和检索数据。`map`是一种无序的键值对集合,其中每个键与一个值相关联。使用 map 数据结构可以快速地根据键找到对应的值,而无需遍历整个集合。 在 Go 语言中,`map` 是一种内置的数据类型,可以通过
探究|Go JSON 三方包哪家强?
本文作者从评判标准、功能评测、性能评测等多方面剖析三方库哪些家强,并给出了比较务实的建议。 引言 为了小伙伴理解,汇总了一下文章中会提及的术语名词解释,请放心品读,欢迎一起讨论交流! 你真的了解 Go 标准库吗? 问题一:标准库可以反序列化普通的字符串吗?执行下面的代码会报错吗? var s str
Golang标准库之bytes介绍
本次主要介绍golang中的标准库`bytes`,基本上参考了 [字节 | bytes](https://cloud.tencent.com/developer/section/1140520) 、[Golang标准库——bytes](https://www.jianshu.com/p/e6f7f2
Go语言如何判断两个对象是否相等
# 1. 引言 在编程中,判断两个对象是否相等是一项常见的任务,同时判断对象是否相等在很多情况下都非常重要,例如: 1. **单元测试**:编写单元测试时,经常需要验证函数的输出是否符合预期,这涉及到比较对象是否相等。 2. **数据结构操作**:在使用`map`等数据结构时,可能需要判断两个对象是
为什么说 Go 语言字符串是不可变的?
**原文链接:** [为什么说 Go 语言字符串是不可变的?](https://mp.weixin.qq.com/s/AOb6AjKwyTwLeAUou0AU-Q) 最近有读者留言说,平时在写代码的过程中,是会对字符串进行修改的,但网上都说 Go 语言字符串是不可变的,这是为什么呢? 这个问题本身并