随笔分类 -  golang

上一页 1 2 3 4
go语言学习--string、int、int64互相转换,字符串的截取,数组和字符串的转换,printf的语法
摘要:下面总结了go中常用的转换 #string到int int,err:=strconv.Atoi(string) #string到int64 int64, err := strconv.ParseInt(string, 10, 64) #int到string string:=strconv.Itoa( 阅读全文
posted @ 2018-11-23 09:18 ZhanLi 阅读(5149) 评论(0) 推荐(0) 编辑
指针数组和数组指针
摘要:数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (*p)[4]; 阅读全文
posted @ 2018-11-11 17:20 ZhanLi 阅读(2614) 评论(2) 推荐(0) 编辑
go语言学习--go的临时对象池--sync.Pool
摘要:一个sync.Pool对象就是一组临时对象的集合。Pool是协程安全的。 Pool用于存储那些被分配了但是没有被使用,而未来可能会使用的值,以减小垃圾回收的压力。一个比较好的例子是fmt包,fmt包总是需要使用一些[]byte之类的对象,golang建立了一个临时对象池,存放着这些对象,如果需要使用 阅读全文
posted @ 2018-10-28 12:24 ZhanLi 阅读(266) 评论(0) 推荐(0) 编辑
go语言学习--语法糖
摘要:语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。 语 阅读全文
posted @ 2018-10-08 19:51 ZhanLi 阅读(915) 评论(0) 推荐(0) 编辑
go语言学习--指针的理解
摘要:Go 的原生数据类型可以分为基本类型和高级类型,基本类型主要包含 string, bool, int 及 float 系列,高级类型包含 struct,array/slice,map,chan, func 。 相比 Java,Python,Javascript 等引用类型的语言,Golang 拥有类 阅读全文
posted @ 2018-09-23 18:04 ZhanLi 阅读(1709) 评论(0) 推荐(1) 编辑
go语言学习--channel的关闭
摘要:在使用Go channel的时候,一个适用的原则是不要从接收端关闭channel,也不要在多个并发发送端中关闭channel。换句话说,如果sender(发送者)只是唯一的sender或者是channel最后一个活跃的sender,那么你应该在sender的goroutine关闭channel,从而 阅读全文
posted @ 2018-09-23 17:36 ZhanLi 阅读(1015) 评论(0) 推荐(0) 编辑
go语言学习--map中键值得删除
摘要:测试 map1 中是否存在 key1: 在例子 8.1 中,我们已经见过可以使用 val1 = map1[key1] 的方法获取 key1 对应的值 val1。如果 map 中不存在 key1,val1 就是一个值类型的空值。 这就会给我们带来困惑了:现在我们没法区分到底是 key1 不存在还是它对 阅读全文
posted @ 2018-09-20 20:44 ZhanLi 阅读(246) 评论(0) 推荐(0) 编辑
go语言学习--map类型的切片
摘要:今天在项目中遇到了一个切片的map,记录下map切片的使用 下面是输出的结果 需要注意的是我们在处理切片map的赋值的时候需要为每一个切片的map进行map的新建 阅读全文
posted @ 2018-09-20 20:19 ZhanLi 阅读(682) 评论(0) 推荐(0) 编辑
go语言学习--protobuf的学习
摘要:最近在学习中遇到了protobuf,哇喔竟然不知道,马上进行了学习,protobuf也是数据解析的方式,平时使用最多的是json和xml,那么好了,对比下他们的区别,并且附上protobuf的使用。 数据交互xml、json、protobuf格式比较 1、json: 一般的web项目中,最流行的主要 阅读全文
posted @ 2018-09-10 20:03 ZhanLi 阅读(586) 评论(0) 推荐(0) 编辑
go语言学习--map的并发
摘要:go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定的限制,如果是在单个协程中读写map,那么不会存在什么问题,如果是多个协程并发访问一个map,有可能 阅读全文
posted @ 2018-09-09 16:04 ZhanLi 阅读(730) 评论(0) 推荐(0) 编辑
GO中DEFER的理解--DEFER执行的原理
摘要:在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先来看下面一段代码: 这段代码可以运行,但存在'安全 阅读全文
posted @ 2018-09-02 18:28 ZhanLi 阅读(1006) 评论(0) 推荐(0) 编辑
go中defer的理解--defer、return、返回值之间执行顺序
摘要:defer可以读取有名返回值 func c() (i int) { defer func() { i++ }() return 1 } 输出结果是2. 在开头的时候,我们知道defer是在return调用之后才执行的。 这里需要明确的是defer代码块的作用域仍然在函数之内,结合上面的函数也就是说, 阅读全文
posted @ 2018-09-02 18:12 ZhanLi 阅读(3343) 评论(0) 推荐(1) 编辑
[]map[][]切片map小计
摘要:go中的map我们都知道在进行遍历的时候我们知道他是无序的。对于map[int]interface{}类型的,我们可以通过计算map的长度,通过定长的for循环,进行顺序的输出。 那么如果map的类型是map[string]interface{}类型的呢,我们只能使用range来进行map的无顺序的 阅读全文
posted @ 2018-08-21 20:12 ZhanLi 阅读(174) 评论(0) 推荐(0) 编辑
go中的make和new的区别
摘要:需要注意的是,slice,map,channel都是指针的引用。 make 是 引用类型 初始化的方法。 new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型T的零值。有一点非常重要:new返回指针。 阅读全文
posted @ 2018-08-20 13:16 ZhanLi 阅读(199) 评论(0) 推荐(0) 编辑
go中的map[Interface{}]Interface{}理解
摘要:map里面的k,v支持很多的类型。对于go来说也是,go中有个接口的概念,任何对象都实现了一个空接口。那么我们把map里面的k,v都用interface去定义,当我们在使用这个map的时候,我们可以把任何类型的参数传入到,这个map中。真的可以吗,下面我们来看下代码。 输出结果 我们可以看到,不管i 阅读全文
posted @ 2018-08-17 17:52 ZhanLi 阅读(4634) 评论(0) 推荐(0) 编辑
golang中defer的理解
摘要:在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。 为了更好的学习defer的行为,我们首先来看下面一段代码: 这段代码可以运行,但存在'安全 阅读全文
posted @ 2018-07-10 13:58 ZhanLi 阅读(454) 评论(0) 推荐(0) 编辑
go语言笔记——切片函数常见操作,增删改查和搜索、排序
摘要:7.6.6 搜索及排序切片和数组 标准库提供了 sort 包来实现常见的搜索和排序操作。您可以使用 sort 包中的函数 func Ints(a []int) 来实现对 int 类型的切片排序。例如 sort.Ints(arri),其中变量 arri 就是需要被升序排序的数组或切片。为了检查某个数组 阅读全文
posted @ 2018-05-18 18:17 ZhanLi 阅读(246) 评论(0) 推荐(0) 编辑
golang的垃圾回收(GC)机制
摘要:golang的垃圾回收采用的是 标记-清理(Mark-and-Sweep) 算法 就是先标记出需要回收的内存对象快,然后在清理掉; 在这里不介绍标记和清理的具体策略(可以参考https://lengzzz.com/note/gc-in-golang),只介绍 GC过程是怎么调度的以及stw相关 这个 阅读全文
posted @ 2018-05-16 11:29 ZhanLi 阅读(3926) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4