![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
阿烦大64
这个作者很懒,什么都没留下…
展开
-
golang二三事之关于channel你知道和不知道的那些事
channel 向一个关闭的channel里,写数据。 无论是否带缓存的channel,都会引发错误 panic: send on closed channel 向一个关闭的channel里,读数据。 带缓存的channel 缓存里还有数据 返回 数据, true 缓存里没有数据 返回 数据类型未初始化零值, false 不带缓存的channel 缓存里没有数据 返回 数据类型未初始化零值, false 缓存里有数据 执行不到 从缓存里读数据就报错。因为数据没人读就阻塞在哪里了 关闭原创 2020-06-04 11:03:01 · 997 阅读 · 0 评论 -
golang二三事之计算时间差的那点坑
背景:楼上需求方又双叒来提需求来来,这次是想要判断两个时间的天数差, if 天数差 > xx and 天数差 < yy: 。。。。 在python中,我们有很多比如time包,datetime包中的方法可以帮助我们完成时间差的计算,比如 from datetime import date, datetime def date_diff(date1, date2=None, format="%Y-%m-%d %H:%M:%S"): """ 计算日期差,传入原创 2020-06-01 18:55:18 · 1381 阅读 · 2 评论 -
golang函数传参 VS python函数传参
近日在使用golang的过程中发现golang的函数传参和python的稍有区别,现总结记录如下: golang函数传参 1. 当传数组时 会将整个数组全都复制后进行值传递(函数修改数组后并不会影响数组的值),当数组比较大时,每次传递数组都很占用资源,所以一般不用数组传参 2. 当传切片时 此时是引用传递(函数修改切片后,外面的切片也相应被改变),但由于函数只是进行引用传递,并不会复制一遍值,所以一般都使用切片传值 python函数传参 python函数传参时,传递的是这个对象,变量就是关于对象的引用;原创 2020-05-31 14:23:26 · 210 阅读 · 0 评论 -
探索golang初始化
程序初始化顺序 golang程序初始化先于main函数执行,由runtime进行初始化,初始化顺序如下: 初始化导入的包(包的初始化顺序并不是按导入顺序(“从上到下”)执行的,runtime需要解析包依赖关系,没有依赖的包最先初始化,与变量初始化依赖关系类似,参见golang变量的初始化, package级别的变量,初始化顺序与初始化依赖有关); 初始化包作用域的变量(该作用域的变量的初始化也并非按照“从上到下、从左到右”的顺序,runtime解析变量依赖关系,没有依赖的变量最先初始化,参见golang变原创 2020-05-31 11:51:14 · 322 阅读 · 0 评论