随笔分类 -  Go step by step

摘要:认识闭包 首先来看一段代码: 调试结果是这样的: 代码很简单,就是定义一个square函数,返回值类型是func() int,返回的这个函数就是一个闭包。 那么什么是闭包呢? 闭包是函数和它所引用的环境,也就是闭包=函数+引用环境。 匿名函数虽然没有定义x,但是它引用了他所在的环境(函数square 阅读全文
posted @ 2018-06-18 17:59 ralap7 阅读(4059) 评论(0) 推荐(1)
摘要:本文节选自https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.html 作者的分析非常透彻,从问题本质分析,就不会对defer产生的副作用产生迷茫。 defer坑的本质是:本质原因是return xxx语句并不是一条原子指令,de 阅读全文
posted @ 2018-06-18 11:18 ralap7 阅读(663) 评论(0) 推荐(0)
摘要:goroutine是golang的一大特色,或者可以说是最大的特色吧(据我了解),这篇文章主要翻译自Morsing的[这篇博客](http://morsmachine.dk/go-scheduler),我读这篇文章的时候不只是赞叹调度器设计的精巧,而且被Unix内核设计思想的影响和辐射所震撼,感觉好 阅读全文
posted @ 2018-06-16 13:55 ralap7 阅读(2253) 评论(0) 推荐(0)
摘要:3.2 Slice 一个slice是一个轻量级的数据结构,提供了访问数组子序列(或者全部)元素的功能,而且slice的底层确实引用一个数组对象。 一个slice由三个部分构成:指针、长度和容量。指针指向第一个slice元素对应的底层数组元素的地址,要注意的是slice的第一个元素 并不一定就是数组的 阅读全文
posted @ 2018-06-11 23:30 ralap7 阅读(897) 评论(0) 推荐(0)
摘要:3.1数组 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。数组中每个元素类型相同,又是连续分配,因此可以以固定的速度索引数组中的任何数据,速度非常快。 3.1.1声明和初始化 1、使用字面量声明数组: array := [5]int{10, 20, 30, 40, 阅读全文
posted @ 2018-06-11 23:23 ralap7 阅读(1865) 评论(0) 推荐(0)
摘要:不想沦为芸芸众生的人只需做一件事,便是对自己不再散漫;他应当听从良知的呼唤:“成为你自己!” 尼采 1、整型 有符号整数类型:int8、int16、int32和int64 无符号整数类型:uint8、uint16、uint32和uint64 跟CPU平台相关的数据类型:有符号整数int和无符号整数u 阅读全文
posted @ 2018-06-06 21:15 ralap7 阅读(2828) 评论(0) 推荐(0)