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

GCTT:Go中文翻译组成立了,期待大家的加入

随着 Go 越来越火,Go 相关的文章、教程、资讯、杂文也越来越多。中文资料虽然也不少,当然也有不少很优秀的英文资料,Go中文网本着服务更广大中文用户的原则,经过 “Go中文网内部” 讨论决定,成立 Go Chinese Translation Team(简称 GCTT),专门负责翻译 Go 相关的技术、教程、资讯、杂文等。 - 官网:https://studygolang.com/gctt - GitHub仓库:https://github.com/studygolang/gctt 欢迎英文不错的 gopher 加入我们...阅读全文

6 款最棒的 Go 语言 Web 框架简介

![](https://raw.githubusercontent.com/studygolang/gctt-images/master/top-6-web-frameworks-for-go-as-of-2017/twitter_status.jpg) https://twitter.com/ThePracticalDev/status/930878898245722112 如果你只是想写一个自己用的小网站,或许你不需要框架,但如果你是要开发一个投入生产运营的网站,那么你肯定会需要一个框架,而且是需要一个好的 Web 框架。 如果你已经掌握所有必要的知识和经验,你会冒险自己去重新开发所有的功能么?你有时间去找满足生产级别要求的库来用于开发么?另外,你确定这个库可以满足你后续所有的要求? 这...阅读全文

博文 2017-12-09 03:34:14 polaris

Go与GUI——GO语言的图形界面Walk

GO没有原生的界面库,所以不能直接用来写GUI界面。但最近互联网上已经涌现出不少成熟、好用的第三方界面库。使用它们,就同样可以写出同C#、C++的界面。而且效率还更胜一筹。 关于Walk界面库(官方介绍): Walk是一个写给Golang的Window应用程序库套件,它主要用于桌面GUI的开发,但也有更多的东西。 Part One:安装Walk 在浏览这部分前,请确定已经配置安装完毕go语言的环境。如果没有,可以参考go官网的Install帮助。另外,注意:这个Walk库只能运行在Go 1.1.x及以上。 要安装Walk很简单,只要运行命令:go get github.com/lxn/walk 等待命令执行完毕,这时候检查GOPATH的src与pkg下,是否有符合自己计算机环境的walk目录...阅读全文

Golang优秀开源项目汇总(持续更新。。。)

Golang优秀开源项目汇总(持续更新。。。) 我把这个汇总放在github上了, 后面更新也会在github上更新。 https://github.com/hackstoic/golang-open-source-projects 。 欢迎fork, star , watch, 提issue。 资料参考来源:http://studygolang.com/projects 监控系统 序号 名称 项目地址 简介 1 OpenFalcon http://github.com/open-falcon/of-release OpenFalcon是一款小米监控系统。功能:*数据采集免配置:agent自发现、支持Plugin、主动推送模式; *容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图...阅读全文

博文 2016-08-13 22:00:06 hackstoic

我的 Go 语言学习之路

## 个人情况简介 徐新华(polaris),[Go 中文网](https://studygolang.com)站长。目前在北京一家创业公司担任 CTO。2011 年春,北京大学硕士毕业,先后在开心网、奇虎 360 工作。本人一直从事服务端相关工作,有着丰富的经验,对前端也有所掌握,Android 开发也了解些。虽然目前管理方面的事情较多,但一直保持着技术学习。擅长服务端技术和架构。 ## 我与 Go 语言 - 2012 年 3 月,Go1.0 正式发布时,有幸参与 360 的一个 Go 项目(关注过 Gopher China 大会的应该知道 360 有一个消息系统,而且 [Go 官方博客](http://blog.golang.com/qihoo)还专门介绍过,这个项目成立的第一天我...阅读全文

golang test测试使用

1.创建测试文件夹mysql,文件夹下的go文件的package必须与文件夹名一致(不然会识别不到) 2.创建需要测试的文件mysql.go(使用github.com/go-sql-driver/mysql包) package mysql import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func findByPk(pk int) int { var num int = 0 db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/plugin_master?charset=utf8") if err != nil { panic(err.Error()) } def...阅读全文

博文 2015-03-06 03:00:16 benlightning

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

Go开发工具

1.4 Go开发工具 本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。 LiteIDE LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。 图1.4 LiteIDE主界面 LiteIDE主要特点: 支持主流操作系统 WindowsLinuxMacOS X Go编译环境管理和切换 管理和切换多个Go编译环境支持Go语言交叉编译 与Go标准一致的项目管理方式 基于GOPATH的包浏览器基于GOPATH的编译系统基于GOPATH的Api文档检索 Go语言的编辑支持 类浏览器和大纲显示Gocode(代码自动完成工具)的完美支持Go语言文档查看和Api快速检索代码表达式信息显示F1源...阅读全文

博文 2014-10-29 18:00:00 e_wsq

Go语言现有Web开发框架

经常有人问:Go有哪些Web开发框架? 做Web开发的总是想要一个开发框架。好的框架的确很有用处。不过,如果Go新手,记得一定别被框架束缚住了,一定要学习Go的基础。 为了方便大家,我将现有的一些框架(**文档比较全的**)做一个汇总(没用过,没法提供各种对比): 1、web.go,源码地址:https://github.com/hoisie/web,官方首页:http://webgo.io/ 2、revel,类似Java的play框架。源码地址:https://github.com/robfig/revel,官方首页:http://robfig.github.io/revel/。Danny.Tian总结的学习笔记:[一步一步学习Revel Web开源框架](http...阅读全文

Mac下golang开发环境配置

go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发。 下面介绍在Mac OS X中golang的开发环境配置。 1.安装brew brew是一个mac下的由ruby开发的包管理系统,其官网是http://brew.sh。你只要在你的终端中执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” 便可将其安装完成。 安装完之后输入命令 brew update 即可获得更新并切换到速度最快的源上 2.安装go brew install go 3.安装分布式管理工具hg brew install hg 4.建立go的环境变量文件夹 cd $...阅读全文

博文 2015-05-20 04:00:05 jacklandrin

go服务端----使用gin框架搭建简易服务

使用gin框架搭建简易服务 go语言web框架挺多的,各有各的特点和风格。我之所以在项目中使用gin框架,是因为项目一开始是用的martini,一个设计得很好的框架,但是存在一个比较严重的问题,就是大量使用反射使用太多导致效率过低(这个问题也导致了程序在访问量暴涨时内存上涨过快的问题),而且这个框架在去年就没有人维护了,而作者推荐使用风格很相近的gin框架,大概看了一下,风格确实差不多,而且效率很高,于是就用了gin。至于其它的框架,了解得比较多的是beego,项目中也使用了它的子项目beelog,但是由于我做的项目是偏向于应用服务,而不是网站服务,它的风格更适合网站服务,因此就没有选择它。 贴一下这两个框架的github仓库,martini就不推荐了 gin beego 下面贴一下用gin...阅读全文

博文 2016-11-04 13:00:06 KeKeQiaoKeLi

golang学习之旅:使用go语言操作mysql数据库

1.下载并导入数据库驱动包 官方不提供实现,先下载第三方的实现,点击这里查看各种各样的实现版本。这里选择了Go-MySQL-Driver这个实现。地址是:https://github.com/go-sql-driver/mysql/。 然后按照里面的说明下载驱动包: $ go get github.com/go-sql-driver/mysql 最后导入包即可: import "database/sql" import _ "github.com/go-sql-driver/mysql" 2.连接至数据库 db, err := sql.Open("mysql", "root:root@/uestcbook") 3.执行查询 (1)Exec result, err := db.Exec( "I...阅读全文

博文 2015-05-07 03:00:00 michaellau

初探 Go 的编译命令执行过程

引言 Go 语言这两年在语言排行榜上的上升势头非常猛,Go 语言虽然是静态编译型语言,但是它却拥有脚本化的语法,支持多种编程范式(函数式和面向对象)。Go 语言最最吸引人的地方可能是其原生支持并发编程(语言层面原生支持和通过第三方库支持是有很大区别的)。Go 语言的对网络通信、并发和并行编程的支持度极高,从而可以更好地利用大量的分布式和多核的计算机。开发者可以通过 goroutine 这种轻量级线程的概念来实现这个目标,然后通过 channel 来实现各个 goroutine 之间的通信。他们实现了分段栈增长和 goroutine 在线程基础上多路复用技术的自动化。 2017年7月 TIOBE 语言排行榜 Go 首次进入前十。今天就让我们来探究探究 Go 的编译命令执行过程。 一. 理解 G...阅读全文

博文 2017-08-07 00:05:09 一缕殇流化隐半边冰霜

gRPC的简单Go例子

gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。 这次看到的例子来自: gRPC in 3 minutes (Go) http://www.grpc.io/docs/installation/go.html 分别获得客户端和服务器端的代码如下: $ go get -u github.com/grpc/grpc-commo...阅读全文

博文 2015-06-04 03:00:00 ghj1976

Golang- import 导入包的语法

载自:http://blog.csdn.net/zhangzhebjut/article/details/25564457?utm_source=tuicool 一 包的导入语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: import( "fmt" ) 然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,他其实是去GOROOT下去加载该模块,当然Go的import还支持如下两种方式来加载自己写的模块: 相对路径 import "./model" //当前文件同一目录的model目录,但是不建议这种方式import 绝对路径 import "shorturl/model" //加...阅读全文

博文 2015-07-30 03:00:00 code-review

在 Golang 中使用 Protobuf

安装 goprotobuf 1.从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 protoc(可下载到 Windows 下的二进制版本 wget https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz tar zxvf protobuf-2.6.1.tar.gz cd protobuf-2.6.1 ./configure make make install protoc -h 2.获取 goprotobuf 提供的 Protobuf 编译器插件 protoc-gen-go(被放置于 $GOPATH/bin 下,...阅读全文

博文 2015-03-12 03:00:01 wangxusummer

golang 编码转换 gbk

(一)golang 官方转换包 go get golang.org/x/text/encoding https://godoc.org/golang.org/x/text 注:Go里面内建仅支持UTF8字符串编码,因此如果你用fmt.Printf之类的函数无法正常打印出字符串内容,而只能是一堆乱码! 导入package: import ( "bytes" "fmt" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil" ) gbk转换: src:="编码转换内容内容" data, _ := ioutil.ReadAll(transform.NewReader(bytes...阅读全文

博文 2015-01-17 16:00:36 ziyouzhiqiu

go get安装第三方包的前提条件和步骤

自:http://studygolang.com/articles/5796 首先,你要找到第三方类包所在的网址, 例如: http://github.com/go-sql-driver/mysql 分为命令行自动安装 和 手动下载 然后安装。 ( 欢迎加入go语言群: 218160862 ,群内有实践) 一、通过 go get github.com/go-sql-driver/mysql 命令安装第三方类库 要启用 go get github.com/go-sql-driver/mysql 命令, 首先必须设置环境变量GOPATH的路径、并且安装git for windows!!! 否则 go get 命令不起作用。 1. 设置 GOPATH 环境变量, 并且这个GOPATH 变量里面的路...阅读全文

博文 2016-01-28 19:00:01 bluehawksky

Go GUI 开源项目汇总

大家对Go开发GUI程序蛮感兴趣的,总有人问这个。这里汇总一下目前的一些第三方开源GUI库: 1、[goqt](https://github.com/visualfc/goqt),LiteIDE作者出品,Go和QT的绑定,还未发布 2、[go.uik](https://github.com/skelterjohn/go.uik),纯Go实现的并发UI工具 3、[walk](https://github.com/lxn/walk),Windows Application Library Kit 4、[gform](https://github.com/AllenDang/gform),Windows GUI framework 发现其他更好的,请评论推荐...阅读全文

Go语言诞生5周年!10大Go语言开源项目推荐

引用2014年11月,Golang官方博客发布文章 ,以纪念Go语言发布5周年。文章称,Go语言在云计算时代找到了位置,预言“2015年将是Go语言急剧发展之年”。 2014年11月,Golang官方博客发布Go语言核心开发组成员Andrew Gerrand文章 《Half a decade with Go》,以纪念Go语言发布5周年。Andrew Gerrand在文章中称,Go语言在工业界向云计算转型时代找到了自己的位置,目前一些重量级的云计算项目比如有名的Docker等都是用Go语言开发的,并预言“2015年将是Go语言急剧发展之年”(“ 2015 will be Go's biggest year yet.”)。 Go语言:制霸云计算时代 引用从国内Go语言发展和应用来看,七牛算是国内...阅读全文

博文 2014-12-05 01:00:08 cao345657340

vim 安装vim-go 打造GOLANG 专用IDE

分两步: 第一步:安装vim插件管理器Vundle 第二步:安装vim-go插件。 另外:我也写了一个自动安装的脚本。手懒的朋友,可以自行下载使用:https://github.com/aimin/InstallvimGo.git --------------------------------------------------------------------------------------- 开始: 第一步:安装Vundle 根据Vundle的安装说明,首先安装Vundle: $ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim 然后对.vimrc进行配置,将Vundle的相关配...阅读全文

博文 2015-04-26 13:00:00 samxx8

go语言值得学习的开源项目推荐

谷歌官方维护了一个基于go语言的开源项目列表: https://github.com/golang/go/wiki/Projects 其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也有大型如nsq、docker等的项目。 下面推荐几款适合学习的项目: 1、cache2go https://github.com/muesli/cache2go 比较简单的一个缓存库,代码量很少,适合新手学习,可以学习到锁、goroutines等。 2、groupcache https://github.com/golang/groupcache 与memcached同一作者,相当于是memcached的go语言实现。 3、nsq https://github.com/bitly/nsq 消息分...阅读全文

博文 2015-03-03 03:00:01 baiyuxiong

无坑安装使用godep(go语言第三方依赖管理)

安装godep 官方的安装文档是使用go get github.com/tools/godep,很可惜,因为“网络”问题会报一个找不到golang.org/x/tools/go/vcs的错误。 而https://github.com/golang/tools 是 golang.org/x/tools的一个镜像,代码是一样的,所以我是如下安装的。 go get github.com/golang/tools 在GOPATH\src\github.com目录下就有tools文件夹。 在src下和github.com平级新建golang.org文件下,在此文件夹下建x文件夹,然后将tools都复制进去。 然后再执行go get github.com/tools/godep。 此时godep安装在你...阅读全文

博文 2015-01-01 01:00:02 wiselyman

一个新颖简便的golang orm . 容易比较容易上手。

About 一个数据库ORM. How to use? Insert go get github.com/ablegao/orm 例子 //引用模块 import "github.com/ablegao/orm" //mysql 驱动 import _ "github.com/go-sql-driver/mysql" //建立连接 // 参数分别为 名称 , 驱动, 连接字符串 // 注:必须包含一个default 连接, 作为默认连接。 orm.NewDatabase("default" , "mysql" , "user:passwd@ip/database?charset=utf8") //建立一个数据模型。 type UserInfo struct { orm.Object Id i...阅读全文

博文 2015-01-01 08:00:01 Able

仅需简单 5 步,给你的 Golang 程序添加 GUI (使用 Electron )

创建一个 Golang app 是一件简单又轻松的事情,但是有时候你想给你的应用锦上添花:创建一个 GUI! 在本篇文章中,我将通过使用 astilectron 工具中的 bootstrap 以及 bundler 给一个简单的 Golang 程序添加 GUI。 我们的带有 GUI 的 Golang app 能够打开一个文件夹并且展示其中的内容。 你可以在这里找到完成后的 [代码](https://github.com/asticode/go-astilectron-demo) : ![](https://raw.githubusercontent.com/studygolang/gctt-images/master/go-gui-electron/0.png) ## 第一步:组织项目结构 文...阅读全文

博文 2017-12-27 13:44:33 polaris

完整视频代码及学习资料-Zinx框架-Golang轻量级TCP并发服务-适合基础学习-也适合技能加强

![image.png](https://static.studygolang.com/190412/5eba8cb38cd844bcd8f69e0f1d2bd483.png) ![image.png](https://static.studygolang.com/190412/1105a68f5823cf0801b764ff1bedc2d0.png) ![image.png](https://static.studygolang.com/190412/bb8e5840e39a64197c1a1d9079488e8c.png) ![image.png](https://static.studygolang.com/190412/4edc7fb39cefa5da63b9e739561...阅读全文

golang读取ini配置文件

golang读取ini配置文件 一、安装config配置解释包: go get github.com/larspensjo/config 二、载入其包及代码设置 package main import ( "flag" "fmt" "github.com/larspensjo/config" "log" "runtime" ) var ( configFile = flag.String("configfile", "config.ini", "General configuration file") ) //topic list var TOPIC = make(map[string]string) func main() { runtime.GOMAXPROCS(runtime.NumC...阅读全文

博文 2014-10-04 19:26:58 liaojie

golang 几种字符串的连接方式

最近在做性能优化,有个函数里面的耗时特别长,看里面的操作大多是一些字符串拼接的操作,而字符串拼接在 golang 里面其实有很多种实现。 实现方法 1. 直接使用运算符 func BenchmarkAddStringWithOperator(b *testing.B) { hello := "hello" world := "world" for i := 0; i < b.N; i++ { _ = hello + "," + world } } golang 里面的字符串都是不可变的,每次运算都会产生一个新的字符串,所以会产生很多临时的无用的字符串,不仅没有用,还会给 gc 带来额外的负担,所以性能比较差 2. fmt.Sprintf() func BenchmarkAddStringWi...阅读全文

博文 2018-01-24 22:34:36 hatlonely

在Visual Studio Code中配置GO开发环境

一、GO语言安装 详情查看:GO语言下载、安装、配置 二、GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: 代码着彩色 代码自动完成(使用gocode) 代码片段 快速提示信息(使用godef) 跳转到定义(使用godef) 搜索参考引用(使用go-find-references) 文件大纲(使用go-outline) 重命名(使用gorename) 保存构建(使用go build和go test) 代码格式化(使用goreturns或goimports或gofmt) 调试代码(使用delve) 三、插件安装 3.1 Visual...阅读全文

零猫科技告诉你-Go语言可以干嘛?

Hi,大家好!我是GO首席软件工程师Rob Pike说:我之所以被开发,是因为过去10多年间软件开发的难度令人沮丧。你所不知的,GO Go语言是谷歌发布的第二款开源编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此也被设计用来解决多处理器的任务。我是GO,我够红 目前,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应用,比如Dokcer、k8s等,现在我们看下,有哪些大公司在用Go语言了。Google对Go寄予厚望。旗下Ap...阅读全文

golang在Windows下Sublime Text开发调试环境的配置

一、前言 近期本人有工作调动,进入了一个全新的领域[golang]服务端开发。在此写下本文,希望给那些没接触过golang开发调试环境及还在犹豫选择那家golang IDE而纠结的朋友们一点点帮助,如果你从中得到了受益并且同时拥有博客园账户的话,衷心希望能得到你的一个小小[推荐]以资鼓励。 本人操作系统为Windows 8.1 64bit,开发工具选择如下:go1.4.2.windows-amd64Sublime Text 2(插件GoSublime/GoGdb) gdb、gcc(安装mingw-w64后即可包含) git 二、golang安装 下载你需要的golang版本,本人下载go1.4.2.windows-amd64.zip解压到c:\盘 = 配置golang环境变量 = GOARC...阅读全文

博文 2015-03-31 03:00:00 highend

内网穿透工具 frp

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。 ### frp 的作用 * 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 * 对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 * 利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。 * 可查看通过代理的所有 http 请求和响应的详细信息。(待开发) ### 开发状态 frp 目前正在前期开发阶段,master ...阅读全文

开源项目 2016-09-07 15:56:33 fatedier

golang解析json格式

golang解析json格式 项目中客户端和服务端的交互数据部分为json,因此在服务端就得解析,复杂的json解析起来其实还是挺费劲的。 交互的数据类似如下格式: {"sn":1,"ls":false,"bg":0,"ed":0,"ws":[{"bg":0,"cw":[{"sc":0,"w":"还"}]},{"bg":0,"cw":[{"sc":0,"w":"有点"}]},{"bg":0,"cw":[{"sc":0,"w":"眼熟"}]}]} 需要将json格式中的w字段取出来,并且拼成结果串进行展示 从json数组中获取ws ws是数组,数组元素为object cw是数组,数组元素为object w是string 从cw遍历获取w字段 初步实现如下: func RecResultJson...阅读全文

博文 2016-02-21 17:00:02 qq_33204116

Go圣经中文版

Go圣经中文读书笔记(你懂的): [http://golang-china.github.io/gopl-zh/](http://golang-china.github.io/gopl-zh/) ![image](http://golang-china.github.io/gopl-zh/cover_small.jpg) **从源文件构建:** 1. 运行go get github.com/golang-china/gopl-zh, 获取 源文件 2. 运行npm install gitbook-cli -g, 安装 GitBook 命令行工具 3. 运行go generate github.com/golang-china...阅读全文

搭建自己的ngrok服务

搭建自己的ngrok服务 三 14 bigwhite技术志 Amazon, DNS, EC2, github, Go, Golang, http, https, Linux, ngrok, ngrokd, tunnel, Ubuntu, vps, 亚马逊, 代理, 企业号, 公众号, 域名, 开源, 微信, 隧道 1 Comment 在国内开发微信公众号、企业号以及做前端开发的朋友想必对ngrok都不陌生吧,就目前来看,ngrok可是最佳的在内网调试微信服务的tunnel工 具。记得今年春节前,ngrok.com提供的服务还一切正常呢,但春节后似乎就一切不正常了。ngrok.com无法访问,ngrok虽然能连上 ngrok.com提供的服务,但微信端因为无法访问ngrok.com,导致消息一...阅读全文

博文 2015-03-23 12:13:39 bigwhite

golang gRPC示例

gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。 1、普通帐号安装protobuf unzip protobuf-cpp-3.0.0-alpha-3.zip cd protobuf-3.0.0-alpha-3/ ./configure make && sudo make install go get -u github....阅读全文

博文 2015-06-22 22:02:29 dazheng

golang mysql 简单封装与使用

有时候真的没必要使用xorm, gorm这些重量级orm工具。 golang本来就有成熟的mysql库,相比node.js那些反人类又半吊子的mysql库,真的好太多了。 打开mysql import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) dbtemp, err := sql.Open("mysql", "root:password@/dbname?charset=utf8") db = dbtemp if err != nil { fmt.Println(err) } stmt, err := db.Prepare("create table if not exists dev(id int UNSIGNED AUTO_...阅读全文

博文 2015-08-13 09:00:02 dearplain

[golang] Glide 包管理

一、概述 golang的包管理工具有很多,本篇幅主要介绍glide进行包管理。 二、安装及命令介绍 go get github.com/Masterminds/glide glide create|init 初始化项目并创建glide.yaml文件. glide get 获取单个包 --all-dependencies 会下载所有关联的依赖包 -s 删除所有版本控制,如.git -v 删除嵌套的vendor glide install 安装包 glide update|up 更新包 三、案例测试 准备:本次测试的包是 github.com/mattn/go-adodb ,这个包其中有一个依赖包是 github.com/go-ole/go-ole 3.1 下载单个包 command: glid...阅读全文

博文 2016-05-19 15:00:00 loveyx

Go error--cannot find package

请认真对待你遇到的每一个难题,请用心去思考并找到解决的办法。 在安装每种语言的开发环境时,你总会遇到各种各样的问题,令人搔头挠耳。这不是,当我 用Go语言开发项目,用go build main.go命令进行编译工程时,遇到了一个烦人的问题:cannot find package “github.com/astaxie/beego” in any of:。 描述: 从公司SVN下载Go项目代码,开发环境已经按照要求配置好了。可就当使用“go build main.go”命令时,出现了“cannot find package “github.com/astaxie/beego” in any of:”的错误: 解决方法: 后来仔细看了一下error info,发现GOPATH和我设置的GOPAT...阅读全文

博文 2016-04-08 01:00:12 oceanlucy

游戏服务器框架 Leaf/go

Leaf 是一个使用 Go 语言开发的开源游戏服务器框架,注重运行效率 并追求极致的开发效率。Leaf 适用于几乎所有的游戏类型。其主要的特性: * 良好的使用体验。Leaf 总是尽可能的提供简洁和易用的接口,尽可能的提升开发的效率 * 稳定性。Leaf 总是尽可能的恢复运行过程中的错误,避免崩溃 * 多核支持。Leaf 通过模块机制和 [leaf/go](https://github.com/name5566/leaf/tree/master/go) 尽可能的利用多核资源,同时又尽量避免各种副作用 * 良好的模块支持。 一个 Leaf 开发的游戏服务器由多个模块组成(例如 [LeafServer](https://github.com/name5566/leafserver))...阅读全文

GoBelieve-国内唯一开源IM服务

1. 一小时接入 专注IM,无冗余功能 几行代码,一小时接入 省时省力。2. 自由定制 提供最新源码, 自行二次开发,业务协议 交互视觉均可根据业务需求 自由定制。3. 完全开源 国内唯一开源IM服务,所有源码在Github开放,与线上版本一致4. 私有云部署 彻底排除窃取隐私可能,支持自有域名部署可搭建私有云,无需更新客户端,即可热切换到私有服务,来去自由。5. 官网地址 http://developer.gobelieve.io...阅读全文

博文 2015-06-17 16:00:02 GoBelieve

golang kafka

golang kafka – hello world https://github.com/Shopify/sarama https://shopify.github.io/sarama/ consumer.go package main import ( "fmt" "github.com/Shopify/sarama" "log" "os" "strings" "sync" ) var ( wg sync.WaitGroup logger = log.New(os.Stderr, "[srama]", log.LstdFlags) ) func main() { sarama.Logger = logger consumer, err := sarama.NewConsumer(stri...阅读全文

博文 2016-05-13 02:00:02 simbadan

Gogs:可能是比Gitlab更好的选择

Gitlab是一个很棒的Git托管服务,几乎像GitHub一样强大。 但是,有没有能和Gitlab/Github媲美但操作更简单的项目呢?我认为 Gogs 是很好的选择。 简介 现在,GitHub已经成为首选的代码托管平台。 因为它又很多很棒的功能,操作简单,几乎所有的开发者都喜欢它。 同时,谷歌的代码托管项目准备关闭,你可以把项目转移到这里。 但如果你在写Android应用程序,或者正在创建下一个伟大的iOS游戏,或者不想让别人看到你的代码没,该怎么办? 你当然可以购买私人GitHub库,但你肯定更想把资金投资到更紧迫的事情上。 这就是 Gitlab 和 Gogs 这样的软件诞生的原因。 他们提供的服务和GitHub非常相似,不同的是,你可以把项目放在你自己的服务器上,甚至是自己的工作站上...阅读全文

博文 2015-03-19 03:00:01 zoucaitou

使用vendor管理Golang项目依赖

http://www.tuicool.com/articles/NjMzIbJ 我们在项目中除了大量的使用Python外,也大量的使用了Golang构建高效基础运行服务。在使用Golang过程中,我们发现Golang程序缺少依赖库版本功能是一个非常令人头大的问题:某些依赖在某个commit之后发生了API变更之后,如果不修改代码很难兼容,然而开发者之间很有可能因为参与的时间不同,导致执行 go get 命令获取的版本不同,而导致在不同电脑上出现编译不通过问题。同时,在多个程序中,如果使用的commit版本不同,也可能会导致程序编译过程中出现不同的问题。 在之前,我们解决这个问题有两个方案,一种是拆解 go get 命令的执行,首先创建对应依赖目录,利用git命令切换至指定的commit,然后...阅读全文

博文 2016-09-08 13:00:02 leonpengweicn

用 go 语言开发 android app

一. 下载官方源码 https://github.com/golang/mobile git clone https://github.com/golang/mobile.git 二. 将mobile目录移动到 $gopath/golang.org/x中 mkdir -p $gopath/golang.org/x && mv mobile $gopath/golang.org/x/ 三. 复制官方例子 basic 到 gopath 中 cp -a $gopath/golang.org/x/mobile/example/basic $gopath/ 四. 运行编译命令 cd $gopath/src/basic ./make.bash 1. 如果出现错误 go build runtime: an...阅读全文

博文 2015-01-28 11:00:02 oldfeel

Go最新的dep详解

该文翻译自https://medium.com/i-can-haz-downtime/dep-101-c85e8ab6ed45#.hbngswi0e我很高兴在过去几个月和几个其他gopher开发的一个原型依赖管理工具,名为dep。dep是去年开始由Peter Bourgon组织的项目的一部分。由于我参与开发了一个“godep”,Go的OG依赖管理工具(继承自Keith Rarick),因此加入了dep项目的团队。除了我自己和Peter,团队的其他成员是Jessie Frazelle,Andrew Gerrand和Sam Boyer。 Andrew是Google Go team的一员。 Jessie在Google工作,并参与过大型Go项目,如Docker和Kubernetes。 Sam维护gp...阅读全文

博文 2017-02-14 11:24:45 方圆

Go 1.9中值得关注的几个变化

Go语言在2016年当选tiobe index的年度编程语言。 转眼间6个月过去了,Go在tiobe index排行榜上继续强势攀升,在最新公布的TIBOE INDEX 7月份的排行榜上,Go挺进Top10: 还有不到一个月,Go 1.9版本也要正式Release了(计划8月份发布),当前Go 1.9的最新版本是go1.9beta2,本篇的实验环境也是基于该版本的,估计与final go 1.9版本不会有太大差异了。在今年的GopherChina大会上,我曾提到:Go已经演进到1.9,接下来是Go 1.10还是Go 2? 现在答案已经揭晓:Go 1.10。估计Go core team认为Go 1还有很多待改善和优化的地方,或者说Go2的大改时机依旧未到。Go team的tech lead R...阅读全文

博文 2017-07-14 08:19:41 bigwhite

"go: missing Git command"的解决办法

"go: missing Git command"的解决办法 在使用go get 取资源包的时候出错误: ============================================================ C:\Users\Goopand\Desktop\Workspace\goWork\src>go get github.com/astaxie/beegogo: missing Git command. See http://golang.org/s/gogetcmdpackage github.com/astaxie/beego: exec: "git": executable file not foundin %PATH% ====================...阅读全文

博文 2014-11-13 15:00:01 Goopand

golang 处理Json 数组

今天遇到个接口需要处理一个json的map类型的数组,开始想法是用simple—json里的Array读取数组,然后遍历数组取出每个map,然后读取对应的值,在进行后续操作,貌似很简单的工作,却遇到了一个陷阱。 Json格式类似下边: {"code":0 ,"request_id": xxxx ,"code_msg":"" ,"body":[{ "device_id": "xxxx" ,"device_hid": "xxxx" }] , "count":0} 很快按上述想法写好了带码,但是以外发生了,编译不过,看一看代码逻辑没有问题,问题出在哪里呢? 原来是interface{} Array方法返回的是一个interface{}类型的,我们都在golang里interface是一个万能的接受...阅读全文

博文 2014-10-04 19:26:13 u010471121

golang导出excel(excel格式)

之前写过一篇导出cvs格式的,如果只是简单导出完全能满足需要。按时如果想要有复杂需求,如样式定制、多个sheet之类的,就无法完成了。之后发现有人已经实现golang直接excel对excel的操作,这里分享一下。 地址:https://github.com/tealeg/xlsx 具体各类操作可以直接看里边给出的示例或直接查看代码,用法还是很简单的。这里给出个简单的测试示例: package main import ( "fmt" "github.com/tealeg/xlsx" ) func test1() { var file *xlsx.File var sheet *xlsx.Sheet var row *xlsx.Row var cell *xlsx.Cell var err e...阅读全文

博文 2014-11-03 03:00:01 good-temper