Golang

  • golang协程池设计

    Why Poolgo自从出生就身带“高并发”的标签,其并发编程就是由groutine实现的,因其消耗资源低,性能高效,开发成本低的特性而被广泛应用到各种场景,例如服务端开发中使用的HTTP服务,在golang net/http包中,每一个被监听到的tcp链接都是由一个groutine去完成处理其上下......

  • libtask channel机理及调度理解

    学习golang的时候libtask库的代码是一定要看的,需要深入理解chan和携程的运行机制,下面就结合libtask的源码说明下运行原理,如果理解的有偏差欢迎指正下面是libtask中Channel的结构 struct Alt { Channel *c; void *v; ......

  • 并发编程模型小结

    1. 临界区加排他锁(Go sync.Mutex.Lock())如果并发量大,锁竞争激烈,会导致性能开销大 2. 读多写少场景,使用读写锁(Go sync.Mutex.RLock())支持并发读,但写锁会block住读和写,读多场景性能会好很多 3. 对计数使用CAS操作(Go sync.atomi......

  • go语言-helloworld

    1、非root用户,先在home目录下载wget https://storage.googleapis.com/golang/go1.7.3.src.tar.gz2、解压包tar -xzf go1.7.3.linux-amd64.tar.gz3、如果没.profile,就创建$HOME/.profi......

  • 开源项目go2o - golang版的o2o项目

    发一个github上唯一用golang实现的o2o项目What's Go2oGolang combine simple o2o DDD domain-driven design realization, including multi-channel (businesses), multi-stor......

  • 【翻译】go语言中的map实战

    业余时间翻译,水平很差,如有瑕疵,纯属无能。原文链接http://blog.golang.org/go-maps-in-actiongo语言中的map实战1. 简介哈希表是计算机科学中最重要的数据结构之一。许多哈希表的实现有着千差万别的特性,但是总体上他们都提供了快速查询,添加和删除功能。go语言提......

  • Golang的类型断言

    类型断言即判断一个变量是不是某个类型的实例,这个经常用在判断接口的类型,基本的格式:y, ok := x.(type)上面的语句用于判断变量x是不是type类型,有两种结果:x是type类型的变量,那么返回x的副本赋值给y,ok的值为truex不是type类型的变量,那么返回一个空的stuct,ok......

  • Golang 调用 aws-sdk 操作 S3对象存储

    Golang 调用 aws-sdk 操作 S3对象存储前言因为业务问题,要写一个S3对象存储管理代码,由于一直写Go,所以这次采用了Go,Go嘛,快,自带多线程,这种好处就不用多说了吧。基础的功能查看S3中包含的bucketbucket中的文件/文件夹bucket的删除bucket的创建bucket......

  • golang_protobuf环境搭建

    搭建golang使用rotobuf使用环境一 安装protobuf:1 下载protobuf源码:https://github.com/google/protobuf2 进入源码目录: ./autogen.sh               可能遇到问题:1 该脚本会下载gmock, 若被墙,则需FQ......

  • 使用Go开发web服务器

    原文链接Go(Golang.org)是在标准库中提供HTTP协议支持的系统语言,通过他可以快速简单的开发一个web服务器。同时,Go语言为开发者提供了很多便利。这本篇博客中我们将列出使用Go开发HTTP 服务器的方式,然后分析下这些不同的方法是如何工作,为什么工作的。   在开始之前,假设你已经知道......

  • golang实现 快速排序算法

    快速排序算法原理:b站https://b23.tv/uJqRYNpackage mainimport "fmt"//[]int{1,2,3,4,5,6,7,8}func qsort(ori []int) []int {copy := append([]int{}, ori...)var inner ......

  • golang pprof 内存分析

    use pprof to get application  memory  useageadd code in your main funcitonimport ( "log" _ "net/http/pprof")func main() { go func() { log.Pr......

  • election.go

    package concurrencyimport (    "errors"    "fmt"    v3 "github.com/coreos/etcd/clientv3"    "github.com/coreos/etcd/mvcc/mvccpb"    "golang.org/x/net/......

  • 0069-leetcode算法实现之x的算术平方根-sqrtx-python&golang实现

    给你一个非负整数 x ,计算并返回 x 的 算术平方根 。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4输出:2示例 2:输入:x = 8输出:2解释:8 的......

  • golang test 单元测试

    golang自家的单元测试做的很好了,自需要"文件名_test.go" 就可以在里面写单元测试,而且go test命令也很强大,可以只运行单个测试函数,在goland 可以点击单元测试函数前面的图标,但是切换到vscode就需要自己动手了。go test 主要参考https://godoc.org/......

  • golang 调用windows API 中文的处理

    Go语言发展势头很猛,其实缺点也很多,好在有广大爱好者提供了无数的库,把优点表现得太好了,搞得什么都是拿来就使用,基本完全不理会指针,性能还不错。最近在windows下使用遇到一个中文的问题,首先要了解的是Golang的编码是utf-8的,而中文windows的API返回时多字节的GBK编码。下面是......

  • GOLANG 基本数据类型 整型

    基本数据类型-整型种类    有符号(负号)    int8 int16 int32 int64无符号(无符号)uint8 uint16 uint32 uint64架构特定(取决于系统位数)int uint类型别名Unicode字符rune类型等价int32 byte等价uint8特殊类型uintp......

  • mutex.go

    package concurrencyimport (    "fmt"    "sync"    v3 "github.com/coreos/etcd/clientv3"    "golang.org/x/net/context")// Mutex implements the sync Lock......

  • vim设置golang语法高亮 (Centos)

    Go语言自带vim 的语法高亮文件。http://www.golangtc.com/download 下载   go1.3.3.src.tar.gzgo1.3.3 (source only),解压缩  移动到/usr/local/1: 开启vim语法高亮vim ~/.vimrcsyntax onse......