自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Golang channel

channel

2019-09-10 18:38:39 237

原创 Golang GMP调度模型

解释GMP模型含义M结构是Machine,系统线程,它由操作系统管理,goroutine就是跑在M之上的;M是一个很大的结构,里面维护小对象内存cache(mcache)、当前执行的goroutine、随机数发生器等等非常多的信息P结构是Processor,处理器,它的主要用途就是用来执行goroutine,它维护了一个goroutine队列,即runqueue。Processor的让我们从...

2019-09-10 12:51:04 14099

原创 Golang goroutine

协程Coroutine轻量级“线程”非抢占式多任务处理,由协程主动交出控制权编译器/解释器/虚拟机层面的多任务多个协程可以在一个或多个线程上运行func main() { var a [10]int for i := 0; i < 10; i++ { go func(i int) { for { a[i]++ } }(i) } time.Sl...

2019-08-20 13:48:49 168

原创 Golang 表格驱动测试

传统测试测试数据和测试逻辑混在一起出错信息不明确一旦一个数据出错测试全部结束表格驱动测试分离的测试数据和测试逻辑明确的出错信息可以部分失败go语言的语法可以让我们更容易的实践表格驱动测试tests := []struct { a, b, c int32}{ {1, 2, 3}, {0, 2, 2}, {0, 0, 0}, {-1, 1, 0}, {math....

2019-08-20 11:59:37 324

原创 Golang panic

panic 尽量少用panic 特点停止当前函数执行一直向上返回,执行每一层的defer如果没有遇到recover,程序退出 关于recover仅在defer调用中使用获取panic的值如果无法处理,可重新panicfunc tryRecover() { defer func() { r := recover() if err, ok := r....

2019-08-19 21:35:05 111

转载 Golang 各种格式化

/* %v 输出结构体 {10 30} %+v 输出结构体显示字段名 {one:10 tow:30} %#v 输出结构体源代码片段 main.Point{one:10, tow:30} %T 输出值的类型 main.Point %t 输出格式化布尔值 true %d`输...

2019-08-19 21:33:30 2383

原创 Golang defer和错误处理

特点确保调用在函数结束时发生 内部是一个栈,后进先出,例如 defer fmt.Println(1)defer fmt.Println(2)// 会输出2 1 遇到了return、panic依然可以输出,这里的意思是说,如果defer后边有return或panic,依然会在函数的最后执行defer后边的内容,比如 func tryDefer() { defer fm...

2019-08-19 21:10:28 824

原创 Golang 函数式编程

Golang中的函数式编程有这么几个特点函数是一等公民:参数,变量,返回值都可以是函数 高阶函数,函数的参数,返回值也是函数 函数 -> 闭包正统的函数式编程不可变性:不能有状态,只能有常量和函数 函数只能有一个参数func adder() func(int) int { sum := 0 // v是一个局部变量 return func(v int) int {...

2019-08-19 15:52:00 174

原创 Golang 接口组合

// 实现者package faketype Retriever struct{ Contents string}func (r *Retriever) Get(url string) string { return r.Contents}func (r *Retriever) Post(url string, form map[string]string) string...

2019-08-19 13:58:06 242

原创 Golang duck typing(鸭子类型)的概念

“像鸭子走路,像鸭子叫(长得像鸭子),那么就是鸭子” 描述事物的外部行为而非内部结构 严格说go属于结构化类型系统,类似dock typing先看一个其他语言中的duck typing :python中的duck typing def download(retriever): return retriever.get("www.fabric.com") 运行时才知道传入...

2019-08-19 11:56:20 2968

原创 Golang 值接收者与指针接收者

什么是接收者func (接收者名字 接收者类型) 方法名() { }值接收者示例type treeNode struct { value int left, right *treeNode}func (node treeNode) print() { fmt.Print(node.value)}指针接收者示例func (node...

2019-08-18 19:13:07 162

原创 LeetCode无重复字符的最长子串Go实现

原题链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/func lengthOfNonRepeatingSubStr(s string) int { lastOccurred := make(map[byte]int) // 使用map记录某个字符上一次出现的位置,这里的ke...

2019-08-18 17:26:11 98

原创 hyperledger fabric 再启动一个节点

前提:已经启动了一个orderer和一个peer节点,但是还有节点为启动例如:orderer节点个数为1个 组织个数2个 Org1 //已经创建 Peer0 //已经创建 Peer1 Org2 Peer0 // 待创建 Peer1 # 新增pee...

2019-08-17 17:37:34 281

原创 hyperledger fabric 部署channel和智能合约的一些命令

# 创建channel频道文件(xxx.tx)configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/mychannel.tx -channelID mychannel# 创建channel命令# 首先进入cli容器docker exec -it cli bash# 创建channel...

2019-08-17 16:55:30 1487

原创 云服务器搭建Fabric网络错误

Error: error getting endorser client for channel: endorser client failed to connect to peer0.org1.example.com:7051: failed to create new connection: context deadline exceeded两种情况:阿里云服务器:$ vim /...

2019-08-16 10:45:03 926 1

原创 使用SUBMAIL时出现证书问题

最近在使用SUBMAIL进行发送短信验证码的时候出现了如下errorPost https://api.mysubmail.com/message/xsend: x509: certificate signed by unknown authority我这里是部署在服务器上的,服务器没有进行备案也没有CA证书,咨询了SUBMAIL的工作人员后获得如下的解决方案:进入SUBMAIL...

2019-08-15 11:35:27 232

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除