
go
yanerhao
信雅之言,微言大意
展开
-
golang1.13版本errors新用法
1创建一个被包装的 errorerr1 := errors.New("new error")err2 := fmt.Errorf("err2: [%w]", err1)err3 := fmt.Errorf("err3: [%w]", err2)fmt.Println(err3)2. 拆开一个被包装的 errorerr1 := errors.New("new error")err2 := fmt.Errorf("err2: [%w]", err1)err3 := fmt.Errorf原创 2021-04-21 17:01:47 · 799 阅读 · 0 评论 -
借助GO接口实现堆
https://blog.youkuaiyun.com/weixin_40631132/article/details/105208272转载 2020-12-26 01:35:14 · 218 阅读 · 0 评论 -
常见内排序-go版本实现
1 选择排序表现最稳定的排序算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,O(1)的空间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间,不稳定。举个例子:对于2954816step1:在列表中先选择最大元9并与最后一个数字6交换2654819;step2:在剩余列表选择最大元8并与最后一个数字1交换2654189;step3:在剩下列表选择最大元6并与最后一个数字1交换2154689;s...原创 2020-12-25 19:26:29 · 255 阅读 · 0 评论 -
go内存申请图解析
整体流程函数细节:原创 2020-12-03 14:39:42 · 880 阅读 · 0 评论 -
常见GC及golang的垃圾回收
常见的垃圾回收机制有两大种:一 引用计数每个对象维护一个引用计数器,当引用该对象的对象被销毁或者更新的时候,被引用对象的引用计数器自动减 1,当被应用的对象被创建,或者赋值给其他对象时,引用 +1,引用为 0 的时候回收优点:实现简单;渐进式回收;回收及时;缺点:循环引用;维护计数单元较为麻烦二 跟踪回收跟踪回收根据特点又可以分为三大类:2.1 标记-清理内存单元并不会在变成垃圾立刻回收,而是保持不可达状态,直到到达某个阈值或者固定时间长度。这个时候系统会挂起用户程序,也就是原创 2020-07-25 16:58:15 · 718 阅读 · 0 评论 -
go命令
Go 提供了一套程序来构建和处理 Go 源代码。这个套件中的程序通常不是直接运行,而是由 go 程序调用,将这些程序作为 go 程序的子命令,例如 go fmt。这样运行时,该命令会在完整的 Go 源代码包上运行,go 程序使用适合于包级处理的参数调用基础二进制文件。套件中的程序也可以通过使用 go tool 子命令(如 go tool vet)作为独立的二进制文件直接运行。这种调用方式允...转载 2018-11-18 00:14:42 · 685 阅读 · 0 评论 -
go常见命令
查看可用命令直接在终端中输入 go help 即可显示所有的 go 命令以及相应命令功能简介,主要有下面这些:build: 编译包和依赖 clean: 移除对象文件 doc: 显示包或者符号的文档 env: 打印go的环境信息 bug: 启动错误报告 fix: 运行go tool fix fmt: 运行gofmt进行格式化 generate: 从processing sour...转载 2018-11-18 00:26:22 · 288 阅读 · 0 评论 -
go包的导入
1 首先配置Go环境export $GOPATH=$HOME/go_learn2 这里创建一个华与摄氏度的温度转换包,源文件有两个,一个是相关常量,类型声明,一个是转换方法tempconv.gopackage tempconvimport "fmt"type Cels float64type Fahr float64const ( AbZeroC Cels = -27...原创 2018-11-18 16:22:43 · 1940 阅读 · 0 评论 -
main Init
init()方法 是在任何package中都可以出现,但是建议 每个package中只包含一个init()函数比较好,容易理解。但是main() 方法只能用在package main 中。Go程序会自动调用init()和main(),所以你不需要在任何地方调用这两个函数。每个package中的init函数都是可选的,但package main就必须包含一个main函数。程序的初始化和执行...转载 2019-06-03 17:46:56 · 473 阅读 · 0 评论