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

使用Thrift0.9.1实现跨语言调用Golang、Php、Python、Java

问题导读:什么是Thrift?Thrift的官方网站在哪里?Golang、Java、Python、PHP之间如何通过Thrift实现跨语言调用?一、什么是Thrift Thrift是一种可伸缩的跨语言服务的发展软件框架。它结合了功能强大的软件堆栈的代码生成引擎,以建设服务。 Thrift是facebook开发的,07年4月开放源代码,08年5月进入apache孵化器。创造Thrift是为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性。所以thrift可以支持多种程序语言,例如: C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js...阅读全文

博文 2015-02-28 03:00:01 youngphy

偷看你在干嘛!golang实现, 基于dnsmasq的dns请求获取

源码地址 什么是dnsmasq(摘自网络) Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以为局域网电脑提供内网ip地址和路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。 更多详细 https://wiki.archlinux.org/index.php/Dnsmasq_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 什么是dnsmasq_admin? 这个东西是针对dnsmasq产生的日志做筛选,将用户...阅读全文

博文 2014-10-04 19:27:43 Able

ngrok原理浅析

ngrok原理浅析 五 14 bigwhite技术志 firewall, ftp, github, Go, Golang, http, https, network, ngrok, ngrokd, Opensource, proxy, SSH, SSL, TCP, TLS, tunnel, VNC, vpn, Wechat, 代理, 开源, 微信, 远程桌面, 防火墙, 隧道 No Comments 之前在进行微信Demo开发时曾用到过ngrok这个强大的tunnel(隧道)工具,ngrok在其github官方页面上的自我诠释是 “introspected tunnels to localhost",这个诠释有两层含义: 1、可以用来建立public到localhost的tunnel,让居于...阅读全文

博文 2015-05-14 13:14:12 bigwhite

Go语言(log4go介绍)

今天来介绍一个Go语言中常用的日志第三方包,即log4go。在C++中,有log4cpp,而在Java中,有log4j。 好了,废话不多说,现在就来介绍log4go的使用。在log4go在github上的链接如下 链接:https://github.com/skoo87/log4go 具体用法可以参考examples文件夹,而且配置文件采用JSON的格式。一个典型的例子如下 log.json: { "LogLevel" : "info", "FileWriter" : { "LogPath" : "log-%Y%M%D.log", "On": true }, "ConsoleWriter" : { "On" : true } } main.go: package main import ( ...阅读全文

博文 2015-06-17 23:01:52 ACHelloWorld

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

类似 go get –u 的命令行参数实现

我们可能需要类似 go get –u …. 这样的方式来实现我们的应用,这时候我们无法简单地使用 flag.Parse 了,而是要用 FlagSet 了, 使用例子如下: package main import ( "flag" "log" "os" ) var () func main() { // 读取命令参数,注意,这里根据执行任务的不同,参数也不一样 // 技术参考: // http://stackoverflow.com/questions/24504024/defining-independent-flagsets-in-golang // http://play.golang.org/p/eaEEx_EReX if len(os.Args) <= 1 { log.Println...阅读全文

博文 2015-12-30 03:00:00 ghj1976

[Go]Log记录

后端系统中的Log是相当重要的,做过高并发服务的同学都会认同这一点。相对而言,调试已经用处不大了,对于这样的项目,我现在也习惯了这种开发方式,有两个原因:1.debug只能在开发环境,到产线环境就不灵了。2.在并行计算下,debug可能无法发现潜在的问题。 有了以前做node.js的经验,放弃debug没有想象中那么可怕,只要我们程序设计合理,结构清晰,日志完整,看到异常信息后基本都可以快速定位问题所在。 做Java的时候有log4j,做.NET程序的时候有log4net, 做Node.js的时候有log4js....上述几个模块用了都不错,因此做Go项目自然选择了Log4go。 话说这个log4go并不完善,而且两年没维护了,白瞎了这么好的名字。比较严重的是程序退出可能有日志没有flush...阅读全文

博文 2014-11-11 17:00:01 abv123456789

goAgent

goagent 1.8.11 稳定版下载 http://goo.gl/6ZXcF 最近更新 goagent 2.0.1 测试版下载 goagent v2.0.1 , 请重新上传 python 服务端,客户端全新升级(不要覆盖) 简易教程 如何部署和使用goagent,以Windows为例 申请Google Appengine并创建appid。 下载goagent稳定版 http://code.google.com/p/goagent/ 修改local\proxy.ini中的[gae]下的appid=你的appid(多appid请用|隔开) 双击server\uploader.bat(Mac/Linux上传方法请见FAQ),上传成功后即可使用了(地址127.0.0.1:8087) chrome...阅读全文

博文 2014-10-04 19:26:28 greywolf

geohash算法以及求最邻近区域的点-golang

geohash算法以及求最邻近区域的点, 对这两个算法封装成了golang package, 写LBS服务程序的时候有用。https://github.com/gansidui/geohashhttps://github.com/gansidui/nearest package main import ( "fmt" "github.com/gansidui/geohash" ) func main() { latitude := 39.92324 longitude := 116.3906 precision := 5 hash, box := geohash.Encode(latitude, longitude, precision) fmt.Println(hash) fmt.Prin...阅读全文

博文 2014-12-30 13:00:01 bluezwt

Go语言实现一致性哈希(Consistent Hashing)算法

一致性哈希可用于解决服务器均衡问题。 用Golang简单实现了下,并加入了权重。可采用合适的权重配合算法使用。 package main //一致性哈希(Consistent Hashing) //author: Xiong Chuan Liang //date: 2015-2-20 import ( "fmt" "hash/crc32" "sort" "strconv" "sync" ) const DEFAULT_REPLICAS = 160 type HashRing []uint32 func (c HashRing) Len() int { return len(c) } func (c HashRing) Less(i, j int) bool { return c[i] < c...阅读全文

博文 2015-06-17 23:07:44 xcltapestry

golang的https服务器

先生成ssl证书 openssl genrsa -out key.pem 2048 openssl req -new -x509 -key key.pem -out cert.pem -days 1095 然后,大概这样 package main import ( "log" "net/http" ) func SayHello(w http.ResponseWriter, req *http.Request) { w.Write([]byte("Hello")) } func main() { http.HandleFunc("/", SayHello) err := http.ListenAndServeTLS(":8080", "cert.pem", "key.pem", nil) i...阅读全文

博文 2014-10-04 19:26:16 ziyouchutuwenwu

go install runtime/cgo: open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied

在做更新时,收到下面提示: go get github.com/astaxie/beego go install runtime/cgo: open /usr/local/go/pkg/darwin_amd64/runtime/cgo.a: permission denied 看目录下,也没有cgo.a 文件。 所以是找不到这个文件报的错误,而不是没有权限的问题。通过sudo来设置权限是不能解决这个问题的。 http://www.cnblogs.com/ghj1976/archive/2013/05/17/3084006.html http://grokbase.com/p/gg/golang-china/135gh2bj5p/gocn-9214-%E5%8D%87%E7%BA%A7%E5%...阅读全文

博文 2014-10-04 19:26:22 ghj1976

go的rpc出现提示:method Xxx has wrong number of ins: 1

the way to go的$19.8和$19.9里面的demo:goto_5 $go version go version go1.1.2 darwin/amd64 $./goto_v5 -http=:8081 -rpc=true //启动master的时候,会显示下面一行提示: 2014/12/02 22:36:29 method Count has wrong number of ins: 1 func (s *URLStore) Put(url, key *string) error { for { *key = genKey(s.Count()) if err := s.Set(key, url); err == nil { break } } if s.save != nil {...阅读全文

博文 2014-12-08 13:00:01 wk3368

用gvm管理Go项目的workspace

我们需要独立的workspace 在我们进行一个项目的开发时,总是希望一个项目独立使用一个workspace,用于隔离各个项目的依赖环境。以ruby项目为例,如果公用workspace,会导致gemset公用,可能在多项目开发的时候,难以隔离各个项目不同的gem,在开发以及运行时出现预料外的问题,所以一般的ruby项目,都会在项目根目录下,使用.ruby-version以及.ruby-gemset来规定当前项目的ruby版本以及gemset,配合rvm或rbenv等版本工具,使ruby项目能使用独立的workspace。 那么,Go语言的项目,能不能这么做呢? Go的项目隔离 比照ruby语言,Go语言在使用中也面临了2个问题: 1.语言版本进步很快,需要对应项目进行语言版本管理。 2.第三...阅读全文

博文 2015-09-09 19:44:42 LYY

Go学习笔记:time包使用

摘要: 和python一样,golang时间处理还是比较方便的,以下按照之前python的时间处理展开 golang时间处理 相关包 "time" 时间戳 当前时间戳 fmt.Println(time.Now().Unix()) # 1389058332 str格式化时间 当前格式化时间 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5 # 2014-01-07 09:42:20 时间戳转str格式化时间 str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") fm...阅读全文

博文 2016-10-11 07:08:41 qdx411324962

golang 生成图表

golang 支持生产图片的源码在下面地址可以看到: https://github.com/vdobler/chart 这个项目 的 example 目录下编译后,执行下面命令就可以生产所有它支持的图表。 example/example –All 这些生产的图表效果如下: bestof.png xautoscale.png xbar1.png xbar2.png xbar3.png xbox1.png xgraphics.png xhist.png xkey.png xlog1.png xmleten.png xpie1.png xpie2.png xscatter2.png xscatter3.png xstrip1.pn...阅读全文

博文 2015-03-27 09:46:00 ghj1976

在go环境中架设protobuf

由于外网经常被封,把go版本的protobuf下载到本地,基本上是protobuf-master.zip这个形式。go版本的protobuf的下载地址为https://github.com/golang/protobuf将这个protobuf-master.zip加压后,改名为protobuf目录,并且在当前go工程的src目录下,新建一个子目录 github.com ,然后进入,再新建一个子目录golang然后把刚才改名为protobuf的目录,全部拷贝到刚才的golang文件夹里面 ok!在linux平台下,进入此protobuf文件夹,make 就OK了,会生成protoc可执行文件在gobin文件里里面,并且生成相关的.a文件在当前go工程的pkg文件夹里。在windows平台下,我...阅读全文

博文 2015-03-17 23:00:01 lyf445207638

protoc 和 protoc-gen-go 产生的 proto 文件代码对比

protoc 命令来自 https://github.com/google/protobuf, 由于这里没有 go 的产生代码, go的产生代码在 protoc-gen-go (https://github.com/golang/protobuf/)这里。 $ protoc --go_out=./go/ ./proto/helloworld.proto $ protoc --go_out=plugins=grpc:./go2/ ./proto/helloworld.proto 上面两个命令,第一个产生的只是 protobuffer 文件序列化和反序列化的代码。 第二个产生的则除了第一个的代码外,还增加服务器和客户端通讯、实现的公共库代码。 https://github.com/grpc/gr...阅读全文

博文 2016-05-20 02:00:01 ghj1976

【Go】windows下搭建go语言编译环境

主要是协助杨哥做Kubernetes相关工作,由于Kubernetes和Docker都是由Go语言编写,因此改源码后还是需要go语言编译器来编译运行。所以打算先在windows上安装一下go语言环境。 需要的工具: GCC编译器 http://gcc.gnu.org/index.html Golang编译器 https://golang.org/ liteide IDE :https://sourceforge.net/projects/liteide/ 接下来就是把对应的安装包给下下来然后安装,尽量放在英文目录不要包含中文。 然后配置系统环境变量,增加一个GOPATH变量将go编译器的安装目录填进去。 打开liteide ,在查看->编辑当前环境中,修改相关配置,如下图: 最后,选择win...阅读全文

博文 2016-06-22 02:00:01 puyangsky

google hosts 2015

感谢互联网为所有人提供开放自由的服务,祝愿祖国繁荣富强人民安居乐业。 ------ 注1:请使用chrome浏览器,并在地址栏里输入chrome://flags/,然后查找QUIC,启用该协议,同时建议启用SPDY/4,能让访问更流畅。 注2:请使用https的方式访问,比如:https://www.google.com 注3:默认可能会跳转到www.google.com.hk,如果.hk访问困难,请使用:https://www.google.com/ncr 方式访问,禁止国别跳转。 ------ google hosts 2015.2.2 ========================================= #google-hosts-2015 #base services ...阅读全文

博文 2015-02-05 03:00:01 5tao

Go环境搭建

1、通过迅雷下载go1.5的windows安装包(迅雷可以加速,直接下载被墙了) https://golang.org/doc/install?download=go1.5.windows-amd64.msi 2、安装gocode 用于提示 go get -u github.com/nsf/gocode 从github上下载gocode go build github.com/nsf/gocode 编译构建gocode成exe 构建完后会在GOPATH下生成gocode.exe文件 需要用到git,可能会遇到各种各样的坑 3、goeclipse, 直接安装 http://goclipse.github.io/releases/ goeclipse安装gocode的时候 git报错 >> Ru...阅读全文

博文 2015-09-12 03:00:00 u010075335

大型网站的HTTPS实践(一)---HTTPS协议和原理

1前言 百度已经于近日上线了全站HTTPS的安全搜索,默认会将HTTP请求跳转成HTTPS。本文重点介绍HTTPS协议,并简单介绍部署全站HTTPS的意义。 本文最早发表于百度运维部官方博客 2 HTTPS协议概述 HTTPS可以认为是HTTP + TLS。HTTP协议大家耳熟能详了,目前大部分WEB应用和网站都是使用HTTP协议传输的。 TLS是传输层加密协议,它的前身是SSL协议,最早由netscape公司于1995年发布,1999年经过IETF讨论和规范后,改名为TLS。如果没有特别说明,SSL和TLS说的都是同一个协议。 HTTP和TLS在协议层的位置以及TLS协议的组成如下图: TLS协议主要有五部分:应用数据层协议,握手协议,报警协议,加密消息确认协议,心跳协议。 TLS协议本身...阅读全文

博文 2015-05-04 11:26:58 luocn99

Go语言基础:make,new, len, cap, append, delete方法

前面提到不少go的内建函数,这篇文章学习下如何使用。。 make 先拿 make 开刀,可是一开始我就进入了误区,因为我想先找到他的源码,先是发现 src/builtin/builtin.go 中有 func make(Type, size IntegerType) Type ,可是这里只有两个参数,跟我所了解的 make 是个可变参数不太一样,于是我继续搜索源码包是否还有其它 make 函数原型的声明,但都是徒劳。 于是找度娘,一点信息都没有。还是 google 吧,找了一堆的英文解释,发现两个网站解释还可以,具体看How can the golang make function can take three parameters? 和 golang builtin package。 总的...阅读全文

博文 2016-09-20 12:00:01 uudou

mac 下配置 VS Code 开发 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) 安装 Go 略过 安装 Visual Studio Code 去官方网站:https://code.visuals...阅读全文

博文 2016-07-31 01:00:01 ghj1976

GO语言特点

抽时间看看Google的GO语言到底有什么特点。Go说得是不错,自从C依赖,N年没有一个经典的编程语言了,计算机发展了几十年,语言还是C的那一套,是该有所作为了,做起来真的不容易啊。看看GO到底有哪些地方做的很好。 编译打包 python很好,只是依赖于python环境,譬如CentOS5.5上是Python2.5,还没有json。。。 如果在CentOS6上开发的.py,直接放到CentOS5.5,有可能是跑不起来的,这个对于商业化部署还是很头疼的。 一种方式是把Python2.6虚拟机编译出来,还可以用cxfreeze和pyinstaller打包成一个binary,不再依赖于python环境。 一般都是选择后一种了,一般编译出来的文件几兆左右,和用c/c++编译出来的程序没有什么区别。 ...阅读全文

博文 2014-10-16 10:00:05 winlinvip

golang 动态 实例化 结构体

真理 http://stackoverflow.com/questions/10210188/instance-new-type-golang So, if I understand your question correctly, you are asking about how you can create an object when you just have the name of the type as string. So, for example, you might have a string "MyStruct" and you want to create an object of this type. Unfortunately, that's not easily ...阅读全文

博文 2016-02-04 06:00:01 scut1135

搭载在webstorm上的go语言开发插件安装

1. 2.搜索框内搜索go,单击“Browse repositories... ”没有匹配结果(因本人已安装好插件,所以go已经显示在上面了) 3.单击"Manage repositories...",在弹出的对话框里单击“+”(对话框内原本是空的),添加如图所示网址,即https://plugins.jetbrains.com/plugins/alpha/5047,单击“OK”。 4.此时搜索列表里就有go选项了,单击右侧的"Install plugin"按钮,即可安装,安装完成后重启webstorm。 5.再重启webstorm后,打开settings下的"Languages&Frameworks",若出现如图所示Go列表,即为安装成功...阅读全文

博文 2016-02-23 03:00:01 luoyishamai

Go在linux下的安装

在Ubuntu、Debian 或者 Linux Mint上安装Go语言 下面是在基于Debian的发行版上使用apt-get来安装Go语言和它的开发工具。 $ sudo apt-get install golang 检查Go语言的版本来验证安装。 $ go version go version go1.2.1 linux/amd64 根据你的需要,你或许想要使用apt-get安装额外的Go工具。 $ sudo apt-cache search golang 在Fedora、CentOS/RHEL中安装Go语言 下面的命令会在基于Red Hat的发行版中安装Go语言和它的工具。 $ sudo yum install golang 检查Go语言的版本来验证安装。 $ go version go ...阅读全文

博文 2016-01-15 03:00:01 oracleloyal

Go语言 简单的爬虫示例(2)——编码转换

Go 语言官方没有提供处理 utf8、unicode 之外字符编码的包。这样转换就需要用第三方包,候选包: https://github.com/xushiwei/go-iconv https://github.com/djimenez/iconv-go https://github.com/sloonz/go-iconv 例子: 下面源网页是国家地震局的一周内地震统计,编码是gb2312,这里需要把它编码成 utf-8 格式。 http://wendal.net/2013/0115.html package main import( iconv "github.com/djimenez/iconv-go" "io/ioutil" "log" "net/http" ) func main()...阅读全文

博文 2014-11-02 17:00:00 abv123456789

mac下配置gdb调试golang

xcode自带的gdb是6,golang需要的gdb是7,因此,homebrew之 brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb 添加证书 钥匙串访问,证书助理,选第二个,证书助理,创建证书,名字为gdb-cert,勾选覆盖默认值,有效期可以改的长一点,一步步下去,注意一定要选择代码签名,安装一定要到系统里面。 配置证书,全部改成信任模式,和goagent的配置方式一样 签名 codesign -s gdb-cert /usr/local/Cellar/gdb/7.7/bin/gdb liteide里面配置gdb为新的路径即可 调试的时候提示输入密码,貌似输入一次以后,只要不重启,永久有效,...阅读全文

博文 2014-10-04 19:26:00 ziyouchutuwenwu

Go语言(goleveldb和ledisdb数据库介绍)

Mayuyu要介绍两个个Go语言编写的K-V数据库,分别是goleveldb和ledisdb。 goleveldb在github上的链接为:https://github.com/syndtr/goleveldb 开发文档参考:http://godoc.org/github.com/syndtr/goleveldb 而ledisdb可以参考如下几篇文章 链接一:http://www.infoq.com/cn/news/2014/08/cloud-structure-thinking 链接二:http://blog.csdn.net/siddontang/article/details/25490903 链接三:http://blog.csdn.net/siddontang/article/ca...阅读全文

博文 2015-06-17 23:00:50 ACHelloWorld

在Ubuntu安装go编译环境

在Ubuntu安装go编译环境 好记性不如烂笔头,所以趁热打铁记录下golang编译环境的安装过程。 首先下载一些依赖包: sudo apt-get install bison ed gawk gcc libc6-dev make 然后安装Mercurial。 Mercurial是一款版本管理系统,golang是利用它来管理版本的。 sudo apt-get install python-setuptools sudo apt-get install python-dev sudo apt-get install build-essential sudo apt-get install mercurial 安装完成后,开始clone golang的源代码。 hg clone -r relea...阅读全文

博文 2015-02-28 03:00:01 vikings-blog

Windows下使用Visual Studio Code搭建Go语言环境

1、安装GO语言 下载地址: https://golang.org/dl/ Windows下直接运行安装GO语言即可。 安装成功。 安装完毕GO语言后,需要添加GOPATH环境变量 ,指向自己的工作目录文件夹,自己新建一个目录即可 另外为了操作方便,可以将GOPATH下的bin目录也添加到Path环境变量的末尾,因为使用go get 命令的时候会将编译后的文件放在GOPATH目录下的bin中 2、安装Git Git是Go中主要使用的版本控制工具,使用go get命令时需要git工具 下载地址: http://git-scm.com/download/ 一般按照默认设置一路安装即可。 安装Git完毕。 3、安装Visual Studio Code 下载地址: https://code.visu...阅读全文

博文 2016-05-04 03:00:11 mstmdev

Go 语言版本的 psutil

psutil没事逛 github ,发现 python 上收集系统信息的著名模块 psutil 已经有 go 的版本,迫不及待下载下来把玩一下。github 上的地址是 https://github.com/shirou/gopsutil显示本机的一些基本信息package main import ( "fmt" "github.com/shirou/gopsutil/cpu" "github.com/shirou/gopsutil/disk" "github.com/shirou/gopsutil/host" "github.com/shirou/gopsutil/mem" ) func main() { v, _ := mem.VirtualMemory() c, _ := cpu.CP...阅读全文

博文 2015-06-17 23:02:21 qcpm1983

go 官方文档 doc

由于网络原因golang.com,国内用户可能不能访问,那要怎么查看doc呢 方法1 查看 fmt 包 cmd go doc fmt 查看单个函数 Printf cmd godoc fmt Printf 方法2 生成本地官网 cmd godoc -http=:8080 访问 localhost:8080 就和官网一样了 方法3 下载 chm https://github.com/astaxie/godoc 版权声明:本文为博主原创文章,未经博主允许不得转载...阅读全文

博文 2015-11-18 10:00:00 fer_ba

go语言的一个gui 开源 项目 https://github.com/andlabs/ui

go语言的一个gui 开源 项目 https://github.com/andlabs/ui 1 安装 mingw-w64 链接地址: http://mingw-w64.sourceforge.net/download.php 2 liteide 配置: # native compiler windows 386 GOROOT=c:\go GOBIN=%GOROOT%\bin GOARCH=386 GOOS=windows CGO_ENABLED=1 PATH=C:\Program Files\mingw-w64\i686-4.9.2-win32-dwarf-rt_v3-rev1\mingw32\bin;%GOROOT%\bin;%PATH% #GOPATH=c:\go LITEIDE_GD...阅读全文

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

golang中调用C

项目中项目基本是golang,因为以前的一个库不太好用golang重写,所以只能使用cgo来调用,稍微记录一下 看使用文档 重要的事情说多遍都不为过,一定要仔细看文档: https://github.com/golang/go/wiki/cgo 注意cgo的注释和 import “C”之间不能有空行!!! Note that there must be no blank lines in between the cgo comment and the import statement. package main /* #include int test() { return 2016; } */ import "C" import "fmt" func main() { ...阅读全文

博文 2016-05-19 05:00:02 qq_33204116

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 消息分...阅读全文

博文 2016-02-29 16:00:02 Yangyan518

golang https

Go支持https协议的简单例子 我们知道除了http方式访问网页之外,还有一种加密的https方式。Go语言的net/http包中包含了这种https页面访问方式的支持。net/http包中的ListenAndServeTLS就是提供这个功能的。我们可以先看一下这个函数的原型。 func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error 从上面的函数原型我们可以看出,其实和http方式的差别就在于需要提供一对公钥文件certFile和私钥文件keyFile。 我们在linux下面可以使用下面的命令来生成一对测试的公钥和私钥文件。 openssl genrsa -out...阅读全文

博文 2014-10-04 19:27:23 flyking

go语言编辑器:liteide

LiteIDE is a simple, open source, cross-platform Go IDE. LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。 项目地址:https://github.com/visualfc/liteide 下载地址:http://sourceforge.net/projects/liteide/ 百度云链接:http://pan.baidu.com/s/1mgCgx64 密码:vsip 安装方法:https://github.com/visualfc/liteide/blob/master/liteidex/deploy/welcome/en/install.md Windows 7 下安装使用: 解压百度云下载的文件: 运行b...阅读全文

博文 2015-10-09 11:00:11 osfipin

golang底层实现资料

内存,内存中的变量和指针 http://golangtutorials.blogspot.jp/2011/06/memory-variables-in-memory-and-pointers.html How does reflection work internally? https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/NYs7L5UvSHo 很好的一篇讲runtime的文章(必看) http://pastebin.com/LEsB8FVW golang的内部实现(中文) http://www.cnblogs.com/genius0101/archive/2012/04/16/2447147.html golan...阅读全文

博文 2014-10-04 19:25:58 yjf512

go-database-sql-tutorial

This is a tutorial on Go's database/sql package (http://golang.org/pkg/database/sql/). The package's documentation tells you what everything does, but it doesn't tell you how to use the package. At VividCortex, we find ourselves wishing for a quick-reference and a "getting started" orientation. This repo is an attempt to provide that. Contributions...阅读全文

博文 2014-10-04 19:25:56 Creak_Phone

go语言访问mysql数据库

Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动 原文来自:http://hao.jobbole.com/go-mysql-driver/ Go语言的 database/sql 包的一个 MySQL驱动。 特性 轻量级与快速原生Go语言,没有C绑定,只有纯Go没有不安全的操作(类型转换等)动态处理崩溃的连接动态连接池支持大于16MB的查询完全 sql.RawBytes支持 环境要求 Go 1以上MySQL (Version 4.1 or higher), MariaDB or Percona Server 安装 简单地使用 go tool 在shell中把安装包加到你的$GOPATH 1 $ go get github.com/go-sql-driver/mysql ...阅读全文

博文 2014-10-10 17:00:06 newsyoung1

在Go里使用OpenCL,"下雨天压榨GPU更配哦"

文标题: 能在Go里用GPU运算的OpenCL语言绑定包 首先网页访问https://github.com/pseudomind/go-opencl/了解一下,然后下载它 C:\go\src\src>go get github.com/pseudomind/go-opencl/cl 再搜索一下你的OpenCL.dll文件,把它复制到gcc编译器的lib目录里比如我在c盘搜索出opencl.dll,把它复制到了C:\TDM-GCC-32\lib\里 用LiteIDE打开https://github.com/pseudomind/go-opencl/tree/master/examples/clinfo里面的例子,可以run了 examples/rotate里面的例子,要build后,在cmd窗...阅读全文

博文 2015-08-13 09:00:01 名字不能长

Pokemon Go安卓安装全教程 不需要root可玩

Pokemon Go游戏火爆欧美,唯有天朝人民是能看看新闻(东北地区请忽略)。 今天看到一个帖子,感觉写的不错,可以教大家来体验一下Pokemon Go! 有很多安卓手机是无法一键ROOT的,在这之前很多教程都需要手机ROOT才能玩上Pokemon go,今天小编就给大家介绍一下如何绕过ROOT来玩精灵宝可梦GO。 此方法适用部分手机,不用root。比如华为,酷派等大品牌手机。 这应该也是各手机厂商提供的官方安装谷歌套件的渠道,具体方法因手机而异,但是大致的操作步骤都一样。下面以我的奇酷手机为例子,给大家演示一遍。 打开设置。找辅助功能,点进去 进去以后能看到类似gms的文字,这个就是我们安装谷歌套件最重要的一步 有些手机还支持卸载谷歌套件的功能,但貌似大部分手机只支持安装。毕竟除了玩游戏,...阅读全文

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

golang 的 http cookie 用法

golang的http cookie用法 在服务端程序开发的过程中,cookie经常被用于验证用户登录。golang 的 net/http 包中自带 http cookie的定义,下面就来讲一下cookie的一般用法以及需要注意的问题。 http cookie的定义 先来看下golang对cookie结构体的定义: type Cookie struct { Name string Value string Path string // optional Domain string // optional Expires time.Time // optional RawExpires string // for reading cookies only // MaxAge=0 means n...阅读全文

博文 2016-05-31 01:00:02 liangDream

golang中对slice操作工具类

自https://github.com/astaxie/beeku/blob/master/slice.go,是beego框架的作者写的对slice的操作,很棒 package beeku import ( "math/rand" "time" ) type reducetype func(interface{}) interface{} type filtertype func(interface{}) bool func Slice_randList(min, max int) []int { if max < min { min, max = max, min } length := max - min + 1 t0 := time.Now() rand.Seed(int64(t0.N...阅读全文

博文 2015-06-23 13:11:06 u012210379

Golang 使用FreeType-go进行字体

FreeType库(http://www.freetype.org/)是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。 freetype-go就是用go语言实现了FreeType驱动。它的项目地址: https://code.google.com/p/freetype-go 下面是使用它绘制的一个字体效果图: 相关代码: 1: package main 2: 3: import ( 4: "code.google.com/p/freetype-go/freetype" 5: "fmt" ...阅读全文

博文 2014-10-04 19:26:12 ghj1976

使用Golang开发微信公众平台-发送客服消息

使用Golang开发微信公众平台-发送客服消息 十二 30 bigwhite技术志 Amazon, CDATA, Debug, EC2, Go, Golang, http, json, marshal, ngrok, Opensource, Tcpdump, unmarshal, Wechat, wireshark, XML, 公众平台, 开放平台, 开源, 微信, 服务号, 编码, 解码, 订阅号, 调试 No Comments 关注并使用过微信“飞常准”公众号的朋友们都有过如下体验:查询一个航班情况后,这个航班的checkin、登机、起降等信息都会在后续陆续异步发给你,这个服务就是通过微信公众平台的客服消息实现的。 微信公众平台开发文档中关于客服消息的解释如下:“当用户主动发消息给公众号...阅读全文

博文 2015-01-20 09:24:45 bigwhite

vim+go环境配置

第一步:安装Go 下载go:http://golanggo.com/archive 解压后执行下列命令 tar -zvxf go1.4.1.linux-amd64.tar.gz cd go cd src/ ./all.bash 看到ALL TESTS PASSED则证明安装成功。 cd ~ vi .bashrc 添加export PATH=/go解压后存放的路径/go/bin:$PATH保存 source .bashrc 执行go看到如下结果: OK,GO工具包安装结束。 第二步:安装VIM 下载vim:http://vim.sourceforge.net/download.php 解压之后执行下列操作: ./configure --prefix=/vim安装路径/ make make in...阅读全文

博文 2015-04-10 16:00:05 happy_life123