golang 开发笔记
qq_31104725
这个作者很懒,什么都没留下…
展开
-
go atomic.value 原理介绍
我们知道通过atomic.value 结构我们可以实现结构体的原子操作。但是在源码层级是如何实现对应的原子操作的,我们在这里进行介绍。本来是想自己写一篇博客的,后来发现已经有大神做了完整的介绍。我就不做重复性的工作。Go 语言标准库中 atomic.Value 的前世今生...转载 2021-03-13 14:42:14 · 555 阅读 · 0 评论 -
Golang 笔记之Plugin介绍
前言: 最近在学习fabric 2.1 版本源码,其中在endorserSupportImpl 结构中使用了Go的plugin 技术。所以这里准备记录下Go Plugin 是什么,怎么用。这里部分参考了https://www.jianshu.com/p/4ab799081a99的介绍(特记录并表示感谢)什么是Go PluginGolang是静态编译型语言,在编译时就将所有引用的包(库)全部加载打包到最终的可执行程序(或库文件)中,因此并不能在运行时动态加载其他共享库。Go Plug...原创 2020-10-22 14:47:04 · 1032 阅读 · 1 评论 -
golang ubuntu下安装
一、通过apt-get安装1、安装sudo apt-get install golang2、设置GOPATH变量GOPATH是扩展库的目录,Go先搜索标准库目录,然后搜索GOPATH库目录,所有的非标准库都放在GOPATH下。以GOPATH为“/usr/local/go”目录为例子:(1)把export GOPATH=/opt/go加入到~/.bashrc(或者/etc/pro...原创 2020-02-13 13:04:11 · 278 阅读 · 0 评论 -
Go外部依赖包引用顺序
一 :vendorvendor概念最早是由Keith提出,用来存放依赖包。在版本1.5出现。vendor的层级搜索规则是:从引用文件所在的vendor路径下面搜索, 如果没有找到,那么从上层目录的vendor路径下面搜索, 直到src的vendor路径下面搜索。二 :modulesGo 1.11版本支持临时环境变量GO111MODULE,通过该环境变量来控制依赖包的管理...原创 2020-02-05 16:32:29 · 1627 阅读 · 0 评论 -
golang 对json数据的开发设计
在一次fabric chaincode的开发过程中,计划使用leveldb数据库,所以存储的数据都是key,value类型的数据。value 是一个json 类型的字符串。由于希望项目不用每张表都建立一个具体的结构,这样项目的复用性也可以更好的提高。所以最后决定直接通过json 字符串解析成map 类型的结构进行开发。下面详细介绍json 在golang 里面的简单特性。一、Json和s...原创 2020-01-13 10:57:28 · 167 阅读 · 0 评论