Blog.9 go.1.13中的Modules

环境变量GOPRIVATE GOPRIVATE升级到go.1.13不得不调整的一个变量。表示引用到的modules是私有的,无须从proxy下载,也无须校验包的checksum。 公司内部基本都有自己的git仓库,升级为go.1.13后,需要在GOPRIVATE中设置仓库的通配符地址。如果不设置该环境变量,go加载package时会从GOPROXY获取,而默认的GOPROXY无法找到指定的包。 参考官方提供的例子: GOPRIVATE=*.corp.example.com,rsc.io/priv...阅读全文

Segmentfault 2019-11-13 03:33:08 渐行渐远

【go踩过的坑】for range

思考 如果对map或者slice使用for...range时,如果只用一个迭代参数,返回的是索引还是对应的值? 解答 for x,y := range map/slice时,其中第二个迭代参数可以省略。所以如果只用一个迭代参数,返回的将是索引值。也就是说如下两行代码的功能相同: for x := range map/slice for x,_ := range map/slice 比如如下代码: package main import "fmt" func main(){ m := make(m...阅读全文

Segmentfault 2019-11-13 03:33:08 moonbamboo

Dockerfile总结

定义及其功能阐述 Dokcerfile 是一个普通的文本文件,文件名一般叫 Dockerfile,其中包含了一系列的指令(Instruction), 每一条指令都会构建一层,就是描述该层是如何创建的。 我们可以像写脚本一样把操作docker的命令写在这个文件里,执行这个文件就相当与执行一系列docker命令来构建镜像,并且会自己提交到本地从仓库,我们如果想改变镜像,操作这个文件就可以,分享这个文件也就相当于分享镜像,更加方便 指令详解 例子 FROM centos:latest LABEL ma...阅读全文

信道编码之纠删码编码

简介 随着数据的存储呈现出集中化(以分布式存储系统为基础的云存储系统)和移动化(互联网移动终端)的趋势,数据可靠性愈发引起大家的重视。集群所承载的数据量大大上升,但存储介质本身的可靠性进步却很小,这要求我们必须以更加经济有效的方式来保障数据安全。 副本与纠删码都是通过增加冗余数据的方式来保证数据在发生部分丢失时,原始数据不发生丢失。但相较于副本,纠删码能以低得多的存储空间代价获得相似的可靠性。比如3副本下,存储开销为3,因为同样的数据被存储了三份,而在10+3(将原始数据分为10份,计算3份冗余...阅读全文

GO基础

声明变量:声明变量的一般形式是使用 var 关键字:var name type Go语言的基本类型(type)有:boolstringint、int8、int16、int32、int64uint、uint8、uint16、uint32、uint64、uintptrbyte // uint8 的别名rune // int32 的别名 代表一个 Unicode 码float32、float64complex64、complex128 变量声明的标准格式:var 变量名 变量类型 变量声明的批量格式:...阅读全文

51CTO博客 2019-11-12 13:49:32 Mirajane

SonarQube(一种静态代码质量审查工具)—学习笔记

SonarQube®是一种自动代码审查工具,可以分析Java,C#,C/C++,PHP,html5,Golang,SWIFT,VB等27种语言),可检测代码中的错误,漏洞和代码味道(Code Smell中文译名一般为“代码异味”,或“代码味道”)。它可以与您现有的工作流程集成(如集成到Jenkins),以实现跨项目分支和Git合并拉取的连持续代码检查。可用于分析代码工程项目的可靠性,安全性和可维护性。 SonarQube可以检测代码评审过程中的编码问题,并让您跟踪代码库的整体健康状况,Sonar...阅读全文

Golang类型转换和类型断言

零值 变量声明时没有初始化会默认赋值为零值 。 零值是: 数值类型为 0 布尔类型为 false 字符串为 "" (空字符串) 基本类型的类型转换 C语言转换 先看一下,在C语言中的类型转换, 隐式转换 int a = 10; int b = 3.0 int num = 3.14; double res = a/b; 显示转换 int a = 10; int b = 3.0 double res = (double)a/b; Golang基本类型间只能进行显示转换 但是,Golang基本类型间只...阅读全文

为什么要学习go语言?go语言有什么优势?

Go语言(Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言于2009年11月正式开源,并于2009年和2016年两次成为TIOBE年度编程语言。Go语言也是近几年逐步兴起的编程语言,很多it行业的盆友开始利用工作之余学习go语言提升自己,为什么那么多人要学习go语言?go语言有什么特点? 语法简洁 Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的C语言”。Go语言的风格类似...阅读全文

星云链源码分析一

星云链开始函数在cmd/neb/main.go 下main函数下使用github.com/urfave/cli进行命令行解析app := cli.NewApp()app.Action = nebapp.Name ="neb"app.Run(os.Args)具体可以去看这个包怎么使用往下进入neb函数func neb(ctx *cli.Context) error {n, err := makeNeb(ctx)select {case <-runNeb(ctx, n):return nil}这里只...阅读全文

简书 2019-11-12 19:02:47

2019 乌镇世界区块链大会 Cocos-BCX 链游专场圆满落幕

11月8日,Cocos-BCX 链游专场成功在乌镇举办,构成了2019世界区块链大会重要环节。专场上 Cocos-BCX 广泛邀请了链游行业的先行者与支撑者们,如 Cocos-BCX 发起人陈昊芝,DappReview 创始人牛凤轩,纯白矩阵 CEO 吴啸,Celer China COO 祁超,Satoshi'Angles 联合创始人 Cindy,DAppChaser 主编 Erica 以及女神社区联合创始人头头等,嘉宾们围绕着游戏周期、链游困境、链游生态与未来等展开了广泛讨论。陈昊芝:目前链游...阅读全文

CentOS7 Go安装

环境:# Centos 7.x# GO v1.11.2# wget https://dl.google.com/go/go1.11.2.linux-amd64.tar.gz# tar xf go1.11.2.linux-amd64.tar.gz -C /usr/local添加/usr/loacl/go/bin目录到PATH变量中# vim /etc/profile在最后一行添加export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/bin保存# ...阅读全文

51CTO博客 2019-11-12 10:34:15 蜗牛远途

golang mgo使用

golang对MongoDB的操作使用gopkg.in/mgo.v2库操作。如下是基本的一些用法 连接 package main import ( "log" "time" "gopkg.in/mgo.v2" ) const ( MongoDBHosts = "172.17.84.205:27017" AuthDatabase = "test" AuthUserName = "test" AuthPassword = "123456" MaxCon = 300 ) func main() { m...阅读全文

Segmentfault 2019-11-13 03:33:07 麦穗儿

李南江:让天下没有缺钱学习的年轻人!【程序员自学福利】

李南江,网名极客江南,知播渔创始人(知播渔教育科技有限公司),不仅仅是名师,更是一个对开发技术甚为执着的程序员,对移动Web开发和Golang开发有着独到的见解和深入的研究,有着多年的前后端开发及教学经验, 对NativeApp、HybridApp、WebApp、区块链开发有着深入研究和独到的见解。除此之外,李老师专业知识夯实广博,授课风格幽默风趣,善于结合实例教学,受到众多学员的喜爱。 李南江,毕业于计算机科学与技术专业(211硕士),在校期间就潜心研究各种开发技术,大学没毕业的时候创办了德亿...阅读全文

dubbo-go 的开发、设计与功能介绍

dubbo-go 的前世今生 dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初版。当时很多东西没有现成的轮子,如 Go 语言没有像 netty 一样的基于事件的网络处理引擎、 hessian2 协议没有 Go 语言版本实现,加上当时 Dubbo 也没有开始重新维护。所以从协议库到网络引擎,再到上层 dubbo-go ,其实都是从零开始写的。 在 2018 年,携程开始做 Go 语言的一...阅读全文

今日头条在消息服务平台和容灾体系建设方面的实践与思考

本篇文章整理自今日头条的沈辉在 RocketMQ 开发者沙龙中的演讲,主要和大家分享一下,RocketMQ 在微服务架构下的实践和容灾体系建设。沈辉是今日头条的架构师,主要负责 RocketMQ 在头条的落地以及架构设计,参与消息系统的时间大概一年左右。以下是本次分享的议题:头条的业务背景为什么选择 RocketMQRocketMQ 在头条的落地实践头条的容灾系统建设业务背景今日头条的服务大量使用微服务,容器数目巨大,业务线繁多, Topic 的数量也非常多。另外,使用的语言比较繁杂,包括 Py...阅读全文

go项目结构怎样?学习go语言怎么样?

  都说go语言比较火,都开始学习go语言编程,那么go语言项目结构是怎样的?我们在学go语言时应该注意什么呢?  在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go build、go install或go get等指令后,会将下载的第三方包源代码文件放在$GOPATH/src目录下,产生的二进制可执行文件放在$GOPATH/bin目录下,生成的中间缓存文件会被保存在$GOPATH/pkg 下。  如果我们使用版本管理工具(Version Control...阅读全文

Go语言中文网 2019-11-12 17:31:42 zhouzhou2018

go语言能干什么?关于go语言要怎么学习?

  Go语言由于自身天生支持并发的特点完美契合当下的互联网环境,所以Go语言自发布之后便迅速风靡全球。  很多朋友可能知道Go语言的优势在哪,却不知道Go语言适合用于哪些地方?Go能干什么?  Go语言目前在云计算、容器虚拟化、分布式存储、网络爬虫、运维开发、Web开发、服务端开发、区块链、IoT等领域都有所应用。  服务端开发  以前你使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如日志处理、文件系统、监控系统等;  爬虫及大数据  Go语言天生支持并发,所以十分适合编写分布式...阅读全文

Go语言中文网 2019-11-12 17:30:54 zhouzhou2018