golang 随笔

panda1986_meng · · 523 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

go blog随笔

  • 最近看go blog, 发现go升级到1.7了,最大的改进是编译的二进制文件缩小了近30%.
  • 那么这30%是怎么来的呢,什么特征使其压缩了文件大小:
    • ssa (Static Single Assignment,静态单赋值) 编译方法,压缩5%
    • method pruning 方法修剪,压缩15%
    • compact format 更合适的格式, 压缩5-15%

其中method prying 和compact format都涉及到了reflect包。那接下来我们就说说golang 的reflect吧。

deep equal:以前写utest的时候,比较map,只能比较各长度,现在有了reflect.DeepEqual,终于可以深度比较了。

a := map[int]string{1: "hello", 2: "hi"}

b := map[int]string{2:"hi", 1:"hello"}

fmt.Println("deep equal", reflect.DeepEqual(a, b))

答案是true

golang的bytes包跟strings包一样强大,strings包有的方法,bytes包基本上都有额。bytes.Join, bytes.HasPrefix, bytes.LastIndex, bytes.Split……跪拜了。


有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:panda1986_meng

查看原文:golang 随笔

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

523 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传