golang
已收录文章:11915篇
-
在Go语言中,选择值类型还是指针类型取决于数据大小、是否需修改原始数据及共享需求。1.小型、固定且无需修改的数据优先使用值类型,因其具备更高的可读性、安全性及潜在的性能优势;2.大型结构体或需要修改原始数据时应使用指针类型,以避免复制开销并实现状态变更;3.当多个模块或goroutine需共享和操作同一数据时,指针是必要选择,但需配合同步机制确保并发安全;4.值类型可减少垃圾回收压力,并有助于实现不可变性设计,提升代码维护性;5.接口方法若需修改接收者状态,必须使用指针接收者,而大型结构体即使只读也推荐指165 收藏
-
我们经常会使用 Go time 包 AddDate(),对日期进行计算。而它得到的结果,可能会往往超出我们的“预期”。(为什么预期要打引号,因为我们的预期可能是模糊、偏差的)。 引例 假设164 收藏
-
其中,在 Mock 其他函数及方法的时候,我们常用到的一个测试类库是「gomonkey」。特别地,对于方法和函数的 Mock,略有差异,在这里我们就分别给出函数和方法 Mock 示例,方便大家参考。 函数164 收藏
-
前言: 今天介绍了通过 runtime.Caller 回溯调用栈获取调用者的信息的方法,虽然强大,不过频繁获取这个信息也是会对程序性能有影响。 背景 我们在应用程序的代码中添加业务日志的时候,不164 收藏
-
一、判断几位小数点 1.判断几位小数点 加载 cast 包 go get github.com/spf13/cast 代码如下(示例): package main import ( "fmt" "github.com/spf13/cast" "math" "regexp" "strconv" ) func main() { num1 := 5.335 // 判断几164 收藏
-
一、sturct json tag的使用 1.tag格式说明 struct json tag主要在struct与json数据转换的过程(Marshal/Unmarshal)中使用。 json的tag格式如下: Key type `json:"name,opt1,opt2,opts..."` 说明: 变量必须是可导164 收藏