Go语言中文网 为您找到相关结果 16

Golang开发环境搭建-Vim篇

Golang开发环境搭建-Vim篇 十一 07 bigwhite技术志 Editor, errcheck, Git, github, Go, go.tools, gocode, godef, goimports, Golang, golint, gorename, gosublime, hg, IDE, Mercurial, MolokaiTheme, neocomplete, neosnippet, pathogen, SublimeText2, sublimetext3, Ubuntu, ultisnips, Vim, vim-go, vimrc, Vundle, YCM, 代码补齐, 编辑器, 语法高亮 评论关闭 虽说sublimetext3+gosublime+gocode是目前较为...阅读全文

博文 2014-11-07 23:01:34 bigwhite

linux 下go的安装

Golang开发环境搭建-Vim篇 十一 07 bigwhite技术志 Editor, errcheck, Git, github, Go, go.tools, gocode, godef,goimports, Golang, golint, gorename, gosublime, hg, IDE, MacOSX, MacVim, Mercurial,MolokaiTheme, neocomplete, neosnippet, pathogen, SublimeText2, sublimetext3, Ubuntu,ultisnips, Vim, vim-go, vimrc, Vundle, YCM, 代码补齐, 编辑器, 语法高亮 评论关闭 虽说sublimetext3+gosublim...阅读全文

博文 2015-03-31 12:00:14 u011156212

golang使用protobuf

安装protobuf编译工具 下载最新版 https://github.com/golang/protobuf 官方网站 https://developers.google.com/protocol-buffers/docs/proto3 解压后 执行 ./autogen.sh 如碰到没有支持的程序,安装之 ./configure make make install 安装golang支持库 下载 https://github.com/golang/protobuf 在项目src目录中建目录 github.com/golang/protobuf/将下载的protobuf全部copy到此目录 cd到此目录执行 make 将编译出protoc-gen-go可执行程序,此程序提供给protobuf编...阅读全文

博文 2016-02-20 16:00:01 wolgame

golang 数组、切片和字典添加/删除

## 注意事项 ### 数组定义长度后就固定了,没法删除和添加新元素 ###切片添加和删除 ```go package main import ( "fmt" ) func main() { v1 := []int{1, 2} //len=2, cap=2 v1 = append(v1,6,7) //增加一个 v1 = append(v1,6,7,8) //增加多个 fmt.Println(v1,len(v1), cap(v1)) //[1 2 6 7 6 7 8] len=7,cap=8 cap按照初始化的cap倍数增加 //删除一个元素 v2 := []int{1, 2, 3 ,4 ,5, 6} fmt.Println(v2,len(v2), cap(v2)) //[1 2 3 4 5 ...阅读全文

博文 2019-10-11 12:06:06 Foto_cj

golang vim ide 环境搭建

虽说sublimetext3+gosublime+gocode是目前较为 流行的Golang开发环境组合,但作为一名VIMer,没有一套得心应手的Vim for Golang dev心里总是过不去的。Golang虽然年轻,但即便是从Go 1版本发布(2012年3月28日)算起,掐指算来也有小三年了。全世界的开发者已经为Golang贡献了较为成熟的Vim插件了。有了这些插件,搭建出 一套高效的Golang开发环境还是不难的,网上也有大量的资料可以参考,其中就有vim-go作者自己发表的一篇文章《Go development environment for Vim》。不过看别人 写的与自己搭建体验的还是有大不同的,于是想来想去还是把整个过程记录下来。 一、一个干净的环境 找个干净的基础环境,方便...阅读全文

博文 2015-06-09 12:00:11 u011156212

Golang开发环境搭建-Vim篇

一、一个干净的环境 找个干净的基础环境,方便确认每个搭建步骤后的效果: Ubuntu 14.04 x86_64 vim version 7.4.52 go version go1.4beta1 linux/amd64 再准备一个编辑Go源码的测试源文件: //hellogolang.go package main import "fmt" func main() { fmt.Println("Hello Golang!") } 用于验证每个搭建步骤后的变化。 二、严格按照vim-go的官方说明逐一搭建 Vim-go是当前使用最为广泛的用于搭建Golang开发环境的vim插件,这里我同样使用vim-go作为核心和基础进行环境搭建的。vim-go利 用开源Vim插件管理器安装,gmarik/Vu...阅读全文

博文 2016-04-14 02:00:01 breg

Go语言知识积累——特点简介与windows开发环境搭建

缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解到这还是一门比较新的语言,且潜力很足。所以展开了研究之旅~ 特点简介: 1.引入轻量级线程——协程(coroutine),Go语言中叫goroutine。 2.采用Erlang风格的并发模型,即消息是进程间唯一的通信方式(而非共享内存)。两个goroutine之间通信通过channel(通道)进行。 3.对代码风格进行了强制统一,比如public变量必须以大写字母开头,private变量必须以小写字母开头,从而省略了这两个关键字。{}中{的书写不能另起一行等。 4.defer关键字,不管程序是否异常,均在退出时执行的代码。避免了大量try、catch...阅读全文

博文 2014-10-11 23:00:06 liangzhao_jay

Go语言知识积累:windows开发环境搭建

Go语言知识积累:windows开发环境搭建 缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解到这还是一门比较新的语言,且潜力很足。所以展开了研究之旅 AD:2014WOT全球软件技术峰会北京站 课程视频发布 特点简介: 1.引入轻量级线程——协程(coroutine),Go语言中叫goroutine。 2.采用Erlang风格的并发模型,即消息是进程间唯一的通信方式(而非共享内存)。两个goroutine之间通信通过channel(通道)进行。 3.对代码风格进行了强制统一,比如public变量必须以大写字母开头,private变量必须以小写字母开头,从而省略了这两个关键字。{}中{的书写不能另...阅读全文

博文 2014-10-22 23:00:16 jklfjsdj79hiofo

Go语言知识积累——特点简介与windows开发环境搭建

缘起看到一篇文章,讲述如何将服务器从30台降到2,性能甚至更加优秀。文章中介绍了完成这一出色任务的语言为Go,于是对Go语言产生了兴趣,逐步了解到这还是一门比较新的语言,且潜力很足。所以展开了研究之旅~ 特点简介: 1.引入轻量级线程——协程(coroutine),Go语言中叫goroutine。 2.采用Erlang风格的并发模型,即消息是进程间唯一的通信方式(而非共享内存)。两个goroutine之间通信通过channel(通道)进行。 3.对代码风格进行了强制统一,比如public变量必须以大写字母开头,private变量必须以小写字母开头,从而省略了这两个关键字。{}中{的书写不能另起一行等。 4.defer关键字,不管程序是否异常,均在退出时执行的代码。避免了大量try、catch...阅读全文

博文 2014-11-06 15:00:00 yanmei004

Go实现杨辉三角的输出

概述 前提:端点的数为1. 每个数等于它上方两数之和。 每行数字左右对称,由1开始逐渐变大。 第n行的数字有n项。 第n行数字和为2n-1。 第n行的m个数可表示为 C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。 第n行的第m个数和第n-m+1个数相等 ,为组合数性质之一。 每个数字等于上一行的左右两个数字之和。可用此性质写出整个杨辉三角。即第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,这也是组合数的性质之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。 (a+b)n的展开式中的各项系数依次对应杨辉三角的第(n+1)行中的每一项。 将第2n+1行第1个数,跟第2n+2行第3个数、第2n+3行第5个数……连成一线,这些数的和是第4n+1个斐波那契...阅读全文

博文 2017-02-10 12:23:56 谢权

7.go开源groupcache项目蛤蟆笔记——关于gocode代码自动补齐

7.go开源groupcache项目蛤蟆笔记——关于gocode代码自动补齐 首先下载gocode代码,输入如下: go get github.com/nsf/gocode 如果是WINDOWS直接输入如下: go get -u -ldflags -H=windowsguigithub.com/nsf/gocode 然后编译命令如下: go build gocode.go autocompletecontext.goautocompletefile.go client.go config.go cursorcontext.go decl.go declcache.goformatters.go os_windows.go package.go ripper.go rpc.go scope.g...阅读全文

博文 2016-09-10 16:00:00 notbaron

BASE64编码原理与Golang代码调用

一.概念简介 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。 Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据 二.代码调用 在Golang中提供了代码库可以供我们直接调用,用于实现Base64的编码与解码,其提供了对两种格式的数据进行编码(与解码) const encodeStd = "ABCDEFGHIJKLMNOPQRSTUVWXYZabc...阅读全文

博文 2018-08-15 20:36:42 暗黑魔君

发号器实践,企业发号器实例--snowflake系列

美团发号器Leaf-snowflake方案 Leaf-snowflake方案完全沿用snowflake方案的bit位设计,即是“1+41+10+12”的方式组装ID号。对于workerID的分配,当服务集群数量较小的情况下,完全可以手动配置。Leaf服务规模较大,动手配置成本太高。所以使用Zookeeper持久顺序节点的特性自动对snowflake节点配置wokerID。Leaf-snowflake是按照下面几个步骤启动的: 启动Leaf-snowflake服务,连接Zookeeper,在leaf_forever父节点下检查自己是否已经注册过(是否有该顺序子节点)。 如果有注册过直接取回自己的workerID(zk顺序节点生成的int类型ID号),启动服务。 如果没有注册过,就在该父节点下面...阅读全文

博文 2020-04-16 16:34:36 Charles_Wong

7.go开源groupcache项目笔记——关于gocode代码自动补齐

7.go开源groupcache项目笔记——关于gocode代码自动补齐 首先下载gocode代码,输入如下: go get github.com/nsf/gocode 如果是WINDOWS直接输入如下: go get -u -ldflags -H=windowsguigithub.com/nsf/gocode 然后编译命令如下: go build gocode.go autocompletecontext.goautocompletefile.go client.go config.go cursorcontext.go decl.go declcache.goformatters.go os_windows.go package.go ripper.go rpc.go scope.go ...阅读全文

博文 2017-10-01 02:31:08 notbaron

golang 和 C++ 的内存对齐

内存对齐规则 有效对齐值是固定值和结构体中最长数据类型长度中较小的那个。固定值系统默认为 32 位是 4, 64 位是 8,#pragma pack(n)设置了则是对应的 n。 结构体第一个成员的 offset 为 0,以后每个成员相对于结构体首地址的 offset 都是 min{该成员大小, 有效对齐值}的整数倍,如有需要编译器会在成员之间加上填充字节。 结构体的总大小为 有效对齐值 的整数倍,如有需要编译器会在最末一个成员之后加上填充字节。 C++内存对齐 常见类型占用内存大小 类型/编译器 16 位编译器 32 位编译器 64 位编译器 bool 1 1 1 char 1 1 1 char* 2 4 8 int 2 4 4 float 4 4 4 double 8 8 8 long l...阅读全文

博文 2020-05-20 16:45:32 玖零儛