随笔分类 - Golang
摘要:[toc] 原文: "What's New In Go 1.14: Test Cleanup" 单元测试通常遵循某些步骤。首先,建立单元测试的依赖关系;接下来运行测试的逻辑;然后,比较测试结果是否达到我们的期望;最后,清除测试时的依赖关系,为避免影响其他单元测试要将测试环境还原。在Go1.14中,t
阅读全文
摘要:[TOC] "go mod" 1. go mod 子命令 | 命令 | 功能 | | | | | download| 下载依赖包到本地| | edit| 修改go.mod文件 | | graph| 输出依赖图 | | init| 当前文件夹下初始化新的mod| | tidy| 拉取缺少的依赖,删除无
阅读全文
摘要:一般go get私有仓库时会出现如下错误: 原因是go get的执行过程需要https证书,检查server端证书是未知CA签署的并报错。 解决方法: 这样go get就会通过http协议去访问私库了。
阅读全文
摘要:// 生成 CPU 报告 go import ( "context" "runtime/pprof" "log" ) func cpuProfile(ctx context.Context) { f, err := os.Create("cpu.prof") if err != nil { log.
阅读全文
摘要:[TOC] 目标: 优先寻找无障碍的路径 目标不可达时,寻找障碍最少的路径 路径长度相等时,优先转弯最少的路径 多个目标点时,根据以上要求到达其中一个目标点即可 要点: 最优格子的选取,先对open list排序,然后从open list中出队 源码:
阅读全文
摘要:相比于encoding, 使用unsafe性能更高
阅读全文
摘要:一、只有一个goroutine时,读写阻塞的chan会出错(“fatal error: all goroutines are asleep - deadlock!”)。包括未make的chan(chan = nil) 二、已经close的chan,写操作会panic(“panic: send on
阅读全文
摘要:1、函数中return xxx非原子指令 2、函数返回过程:先给返回值赋值;再调用defer;最后回到调用函数中 即:返回值 = xxx; defer; return; 3、多个defer调用顺序类似栈,最后面的defer被先调用
阅读全文
摘要:type user struct{ name string } m := map[int]user{ 1: {"user1"}, } 1、从map中取回的是一个value临时复制品,对其成员修改是没有任何意义的 2、当 map 因扩张而重新哈希时,各键值项存储位置都会发生改变。 因此,map 被设计
阅读全文
摘要:1、定义:单例对象的类必须保证只有一个实例存在,全局有唯一接口访问。 2、分类: 懒汉方式:指全局的单例实例在第一次被使用时构建。 饿汉方式:指全局的单例实例在类装载时构建。 3、实现: (1)懒汉方式 缺点:非线程安全。当正在创建时,有线程来访问此时ins = nil就会再创建,单例类就会有多个实
阅读全文
摘要:在go项目中读取配置文件时,如果使用的是相对路径,在执行run test时也会在test文件所在的目录下去读取配置文件,如果文件没在此目录下会报错:“open env1.json: The system cannot find the file specified."。 os.Getwd()得到的是
阅读全文
摘要:教程 Book 《Go Web 编程》 《Go入门指南》 《深入解析Go》 应该是go的进阶,等熟悉go之后再来看 《Go语言圣经(中文版)》 个人认为翻译的不怎么样…… 《Go 中文文档》 《Golang标准库文档》
阅读全文
摘要:7.2.4 new() 和 make() 的区别 看起来二者没有什么区别,都在堆上分配内存,但是它们的行为不同,适用于不同的类型。 new(T) 为每个新的类型T分配一片内存,初始化为 0 并且返回类型为*T的内存地址:这种方法 返回一个指向类型为 T,值为 0 的地址的指针,它适用于值类型如数组和
阅读全文

浙公网安备 33010602011771号