
golang
文章平均质量分 93
小企鹅么么
just学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
读完Golang源码之Runtime-Slice
基于源码Golang1.14.2切片和数组的不同数组:计算机会为数组分配一块连续的内存来保存数组中的元素,我们可以利用数组中元素的索引快速访问元素对应的存储地址切片:切片其实就是动态数组,它的长度并不固定,可以追加元素并会在切片容量不足时进行扩容。slice相关源码结构type slice struct { array unsafe.Pointer len int cap...原创 2020-04-14 20:26:52 · 937 阅读 · 0 评论 -
读完Golang源码之Container
堆type Interface interface { sort.Interface Push(x interface{}) Pop() interface{} // remove and return element Len() - 1.}其中sort.Interface如下图,具体介绍会在Sort里面介绍type Interface interface { Len() i...原创 2020-03-31 18:55:36 · 220 阅读 · 0 评论 -
Go 1.14新特性
工具module相关go build等命令默认将会使用 -mod=vendor,如果需要使用mod cache需要显示指定 -mod=mod。go mod init 设置go.mod文件是-mod=readonly,go.mod是只读模式的。go mod tidy之外的go命令不再编辑go.mod文件除非明确要求或已经要求该版本,否则 go get 将不再升级到该模块的不兼容主要版本。...翻译 2020-03-31 11:04:55 · 894 阅读 · 0 评论 -
读完Golang源码之Context
介绍Go 1.7 标准库引入 context,中文译作 “上下文”,准确说它是 goroutine 的上下文,包含 goroutine 的运行状态、环境、现场等信息。context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、k-v 等。context 用来解决 goroutine 之间退出通知、元数据传递的功能。实现包整体介绍名称...原创 2020-03-30 00:12:33 · 198 阅读 · 0 评论 -
Golang小数精度问题
一,Golang浮点数存在一些问题1,两个浮点数相加减,可能不准确(1)相减x := 74.96y := 20.48b := x - yfmt.Println(b) //output: 54.47999999999999(2)相加var a = 0.6fmt.Println(a + 0.7) //output: 1.2999999999999998· 出现浮点数不精原创 2018-01-09 15:56:32 · 32167 阅读 · 1 评论 -
Go并发初探
1,前言在这里我们不再赘述进程和线程的同步方式、并行程序和并发程序的关系、亦或是多进程与多线程的开销等基础内容,直接切入Go语言的并发线程模型和内部实现。(1)多线程模型多线程模型即用户级线程和内核级线程的不同连接方式。① 多对一模型(M : 1)将多个用户级线程映射到一个内核级线程,线程管理在用户空间完成。此模式中,用户级线程对操作系统不可见(即透明)。优点: 这种模型的好处是线程上下文切...原创 2018-04-23 08:55:49 · 692 阅读 · 0 评论