BFT介绍 BFT BFT( Byzantine Fault Tolerance)称为 拜占庭容错。拜占庭容错技术是一类分布式计算领域的容错技术。拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或中断以及遭到恶意攻…
标签:go
Go语言交叉编译工具gox
基本介绍 交叉编译是为了在不同平台编译出其他平台的程序,比如在Linux编译出Windows程序,在Windows能编译出Linux程序,32位系统下编译出64位程序,今天介绍的gox就是其中一款交叉编译工具。 配置环境…
分享学习GO语言的入门教程
最近看了不少Go的文章和分享。感觉应该拿出来跟大家分享一下我的学习心得,故而在Github上做了一个学习笔记分享!希望对大家有所帮助,里面包含了很多心得。 Github地址:https://github.com/zoem…
Go Channel 高级实践
本文主要讲实践,原理部分会一笔带过,关于 go 语言并发实现和内存模型后续会有文章。 channel 实现的源码不复杂,推荐阅读,https://github.com/golang/go/… channel …
golang框架gin中间件的写法
package main import ( "fmt" "github.com/gin-gonic/gin" ) func middleware() gin.HandlerFunc { return func(c *gi…
golang跳出for循环——匿名函数
搜索了golang退出for循环的方法,基本都是围绕 break label 和 goto。我觉得这两种方式都存在在程序里乱跳的缺点。想到了一个用匿名函数的方式,记录一下 匿名函数方式退出for循环 直接上代码 func…
go语言
【译】GOPATH 的默认值 “翻译自 Go 语言作者的博客。这只是设置了 GOPATH 默认值,GOROOT 还是得自己设置。” 从 Go 1.8 开始,如果 GOPATH 的环境变量为空,Go…
Go Channel 面试题解析
有一道这样的面试题目: 写代码实现两个 goroutine,其中一个产生随机数并写入到 go channel 中,另外一个从 channel 中读取数字并打印到标准输出。最终输出五个随机数。 凭直觉开始撸了以下代码: f…
进程线程协程的介绍
进程(process): 定义 狭义定义:进程就是一段程序的执行过程例如启动的某个app。 广义定义:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程即…
[Go 教程系列笔记] Channel 通道
Go 教程系列笔记 Interface 第一部分 Go 教程系列笔记 Interface 第二部分 Go 教程系列笔记 并发介绍 Go 教程系列笔记 goroutine(协程) Go 教程系列笔记 Channel 通道 …
golang slice性能分析
golang在gc这块的做得比较弱,频繁地申请和释放内存会消耗很多的资源。另外slice使用数组实现,有一个容量和长度的问题,当slice的容量用完再继续添加元素时需要扩容,而这个扩容会把申请新的空间,把老的内容复制到新…
初识Golang
//今天第一次看Golang,作为初学者总结一下 为什么是GO 年轻,它的诞生必然有他的意义,根据大家对他的介绍,总结下来如下:Go 语言对于高性能分布式系统领域而言,无疑比大多数其它语言有着更高的开发效率,Go语言具有…