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

GO语言下载、安装、配置

一、Go语言下载 go语言官方下载地址:https://golang.org/dl/ 找到适合你系统的版本下载,本人下载的是windows版本。也可以下载Source自己更深层次研究go语言。 二、GO语言安装 下载完成之后,双击go1.6.windows-amd64.msi进行安装。 如果安装过程出现以下提示: 以管理员的身份运行cmd,找到go1.6.windows-amd64.msi所在的目录,并输入msiexec /i go1.6.windows-amd64.msi如下图(放在D盘根目录): 步骤一:双击运行安装程序 步骤二:点击Next,出现License 选择I accept the terms in the License Agreeement。 步骤三:点击Next,选择安装...阅读全文

博文 2016-02-25 03:00:02 zsy

Go语言的三元表达式

三元表达式的介绍在这里: http://en.wikipedia.org/wiki/%3F: http://en.wikipedia.org/wiki/IIf Go语言明确不支持三元表达式,这里是相关的讨论: https://groups.google.com/d/msg/golang-nuts/dbyqx_LGUxM/tLFFSXSfOdQJ 官方FAQ的说明在这里: http://golang.org/doc/faq#Does_Go_have_a_ternary_form 官方FAQ推荐的做法是用 if 代替: if expr { n = trueVal } else { n = falseVal } 不过用 if 的问题是变量 n 有作用域问题. 我们需要在 if 之前先定义变量 n,...阅读全文

博文 2015-06-16 08:50:56 chai2010

Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)

1.下载 并且 安装 Go安装包 =========================================================== 在CSDN上传了我的版本,供大家下载: =========================================================== go1.2.windows-386.msi : http://download.csdn.net/detail/shuideyidi/7718563 go1.2.1.windows-amd64.msi: http://download.csdn.net/detail/shuideyidi/7719735 go1.2.1.darwin-amd64-osx10.8.pkg:http://...阅读全文

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

golang中发送http请求的几种常见情况

整理一下golang中各种http的发送方式 最初的一些项目中,很多的地方都使用到了golang发送http请求,之后再对请求收到的结果进行一些处理,所用到的模式也比较固定,这里整理一下集中http的发送方式,先记录这么多,再一点一点添加。 最基本的场景 方式一 使用http.Newrequest 先生成http.client -> 再生成 http.request -> 之后提交请求:client.Do(request) -> 处理返回结果,每一步的过程都可以设置一些具体的参数,下面是一个最朴素最基本的例子: //question ???将stdout重定向为response信息??? package main import ( "fmt" "io" "net/http" "os" ) f...阅读全文

博文 2015-07-20 03:00:00 Goden

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和HTTPS

Go和HTTPS 四 30 bigwhite技术志 CA, CNNIC, Go, Golang, http, https, MD5, ngrok, openssl, SHA, SHA-1, SHA256, SSL, TLS, Web, 加密, 单项散列, 密钥, 微信, 摘要, 数字证书, 私钥, 签名 1 Comment 近期在构思一个产品,考虑到安全性的原因,可能需要使用到HTTPS协议以及双向数字证书校验。之前只是粗浅接触过HTTP(使用Golang开 发微信系列)。对HTTPS的了解则始于那次自行搭建ngrok服务,在那个过程中照猫画虎地为服务端生成了一些私钥和证书,虽然结果是好 的:ngrok服务成功搭建起来了,但对HTTPS、数字证书等的基本原理并未求甚解。于是想趁这次的机会,对...阅读全文

博文 2015-05-01 12:11:47 bigwhite

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

在 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

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开发Android应用(for golang1.4)

载随意:文章出处 http://shengxiang.me/article/38/write-android-program-with-golang.html Golang是一门强类型编程语言,2009年推出,在今年2014年,开始支持android的开发了。 ![golang-android](/static/upload/201411200924478.png) 环境配置好复杂,我不得不唠叨几句。 需要下载golang1.4rc版,下载ndk,然后编译。 然后用go get 下载gobind这个工具, 然后,将写好的代码用gobind转化下,然后使用特殊的编译命令,将代码编译成.so文件,将生成的相关文件,放到android studio的项目中。然后java代码中,利用jni调用引用的...阅读全文

博文 2014-11-20 22:44:09 shengxiang

go get 获得 golang.org 的项目

go get 用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行go install。下载源码包的go工具会自动根据不同的域名调用不同的源码工具,对应关系如下: BitBucket (Mercurial Git) GitHub (Git) Google Code Project Hosting (Git, Mercurial, Subversion) Launchpad (Bazaar) go get 的参数说明: -d 只下载不安装 -f 只有在你包含了-u参数的时候才有效,不让-u去验证import中的每一个都已经获取了,这对于本地fork的包特别有用 -...阅读全文

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

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

Google 镜像站搜集

Google 镜像站搜集 Techzero • 2015-01-31 • 搜集整理 • 394,843 次阅读 • 166 条评论 在特殊的地方和特殊的时间,流畅顺利的打开一个网站也变得如此艰难。 2015.9.4 更新。 以下是直接使用谷歌的方法,如需科学上网请加入交流群53767380,本站交流群为336220319。 本文将不定期维护更新,删除不能用的,增加新的可用网址。欢迎 Ctrl+D 收藏。列表中有些打不开可能是 DNS污染 的原因,可以参考 DNS劫持 DNS污染 介绍 与 公共DNS 推荐 一文尝试解决。 以下镜像站分原版、非原版和智能跳转。非原版的界面有些改变,搜索结果依然与原版相同。智能跳转是在搜索时自动检测使用可用镜像进行搜索并展示结果。 如果您是以下镜像的作者,并且不...阅读全文

博文 2015-09-06 09:00:02 Jr小王子

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

go get 代理设置

前提: 假设安装好git 我的FQ方式(也可以使用别的方式): 使用 ishadowsocks 方式FQ 临时设置Windows下代理: 在控制台执行如下命令,后面的的代理值根据你具体的代理进行设置 set http_proxy=http://127.0.0.1:1080/pac?t=201603231602138322 set https_proxy=https://127.0.0.1:1080/pac?t=201603231602138322 临时设置Linux下代理: 在控制台执行如下命令,后面的的代理值根据你具体的代理进行设置 http_proxy=http://127.0.0.1:1080/pac?t=201603231602138322 https_proxy=https://1...阅读全文

博文 2016-03-24 02:00:01 simplelovecs

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

Visual Studio Code中配置GO开发环境

在Visual Studio Code中配置GO开发环境 一、GO语言安装 详情查看:GO语言下载、安装、配置 二、GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: Colorization 代码着彩色 Completion Lists 代码自动完成(使用gocode) Snippets 代码片段 Quick Info 快速提示信息(使用godef) Goto Definition 跳转到定义(使用godef) Find References 搜索参考引用(使用go-find-references) File outline 文件...阅读全文

博文 2016-04-05 10:00:09 Leo_wl

Go语言中的单引号、双引号、反引号

=Start= 搜索关键字: golang single quotes golang double quotes golang back quotes 参考结果: 结论写在最前:在Go语言中不倾向于使用单引号来表示字符串,请根据需要使用双引号或反引号。 一个Go语言字符串是一个任意字节的常量序列。Go语言的字符串类型在本质上就与其他语言的字符串类型不同。Java的String、C++的std::string以及python3的str类型都只是定宽字符序列,而 Go语言的字符串是一个用UTF-8编码的变宽字符序列,它的每一个字符都用一个或多个字节表示 。 Go语言中的字符串字面量使用 双引号 或 反引号 来创建 : 双引号用来创建 可解析的字符串字面量 (支持转义,但不能用来引用多行); 反引...阅读全文

博文 2016-06-16 13:00:15 diegodu

无坑安装使用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 Http Request

一起看一下golang的HTTP包怎么write Request信息 先看一下看golang http Request的struct,不解释,慢慢看(HTTP权威指南,RFC文档) type Request struct { // Method specifies the HTTP method (GET, POST, PUT, etc.). // For client requests an empty string means GET. Method string // URL specifies either the URI being requested (for server // requests) or the URL to access (for client request...阅读全文

博文 2015-11-16 13:00:01 golang_yh

Golang通过syscall调用windows dll方法

本用例在GO 1.4.2 上编译执行通过,直接上CODE: package main import ( "fmt" "syscall" "time" "unsafe" ) const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO = 0x00000004 MB_RETRYCANCEL = 0x00000005 MB_CANCELTRYCONTINUE = 0x00000006 MB_ICONHAND = 0x00000010 MB_ICONQUESTION = 0x00000020 MB_ICONEXCLAM...阅读全文

博文 2015-03-29 12:00:01 hotkit

IntelliJ IDEA开发golang环境配置

看到一篇文章说IntelliJ IDEA开发作为Go的开发环境不错,突然发神经地想试了一下。 谁知道跟着教程走,到后面越来越不对劲,去百度其它教程,谁知道千篇一律。。。 好了下面开始了 首先把GO安装好。。。(自行安装,附上一篇我之前写的MAC安装GO) 安装IntelliJ IDEA,下载地址: https://www.jetbrains.com/idea/download/。 下载go-lang-idea-plugin这个插件,下载地址: https://plugins.jetbrains.com/plugin/5047。(PS:网上百度的基本都是下源码、编译,搞了一个下午编译,谁知道有已经编译好的可以下载) 下载之后,是一个zip文件,不需要解压,打开IntelliJ IDEA,打开P...阅读全文

博文 2016-02-14 04:00:02 skytoup

无法安装 golang.org/x/tools/的库

安装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安装在你...阅读全文

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

golang HTTP客户端

Get, Head, Post, and PostForm 可以构成 HTTP (or HTTPS) requests: resp, err := http.Get("http://example.com/") ... resp, err := http.Post("http://example.com/upload", "image/jpeg", &buf) ... resp, err := http.PostForm("http://example.com/form", url.Values{"key": {"Value"}, "id": {"123"}}) 客户端必须关闭response的body: resp, err := http.Get("http://example.com/"...阅读全文

博文 2014-10-04 19:26:08 ggaaooppeennngg

go语言exec包调用shell命令

工程中需要用到ffmpeg,想直接用exec包调用shell命令。本来以为很简单,结果折腾了一下午,最后查到了解决方案。 假如之前执行报错的语句为: cmd := exec.Command("echo", "'helloworld!'") out, err := cmd.Output() 那么改为: c := "echo hello world" cmd := exec.Command("sh", "-c", c) out, err := cmd.Output() 即可! 感谢万能的stack overflow reference: https://stackoverflow.com/questions/20437336/how-to-execute-system-command-in-go...阅读全文

博文 2016-08-18 17:00:03 yypnathan

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

golang随机time.sleep的Duration问题

碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sleep(10 * time.Second) 毫秒、秒分时等不同日期来搞… 大事不干,净整些没用的… 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新http://xiaorui.cc/?p=3034 重现一下问题,用math/rannd得到10以内的随机数,然后time.sleep()等待… Python num := rand.Int31n(10) time.sleep(num * time.Second) 123 num := rand.In...阅读全文

博文 2017-04-04 19:31:44 rfyiamcool

golang text/template的用法: if, else, with

golang的text/template 包在使用的时候还是有些不便,特别是涉及到逻辑判断的时候。经过测试,发现下面这种写法是正确的。 1.2.1的环境下没有问题! 相关资料:https://gowalker.org/text/template 。 eq是一个函数。 package main import "text/template" import "os" func main() { type Inventory struct { Material string Count int } sweaters := Inventory{"axe", 0} html := ` "test").Parse("{{.Count}} items are made of {{.Material}}" {...阅读全文

博文 2014-10-04 19:26:11 u013834131

golang之cgo一---go与C基本类型转换

在嵌入式开发中总少不了和C/C++打交道,而在开发中也总有某些需求要用到某些其他工具的特性,比如go语言。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Go语言的语法接近C语言,但是对于变量的声明是不同的,其他语法不同之处是For循环和if判断语句不需要用小括号括起来。Go语言支持垃圾回收功能。 与C++相比,Go语言并不包括如异常处理、继承、泛型、断言、虚函数等功能,但增加了slice型、并发、管道、垃圾回收、接口(interface)等特性的语言级支持。    当前有两个Go语言的编译器的分支。官方编译器gc和gccgo。官方编译器支持跨平台编译(但不支持CGO)   go还可以嵌入C代码,但是不可以...阅读全文

博文 2016-07-12 01:00:08 FreeApe

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

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

用 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

搭建自己的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

windows搭建golang开发平台

Golang是谷歌开发的一款开源性语言,暂时比较方便的IDE有Inteillj Idea、LiteIDE、Eclipse(Golipse)等,使用起来比较方便的IDE:LiteIDE和Inteillj IDEA,但是Inteillj IDEA插件更新太慢,以及存在一些问题(go sdk版本支持为1.2,当前最新的SDK版本是1.4Beta)。LiteIDE是一个Gubit开源项目,现在已经更新至24.2版本。 搭建golang环境步骤,这里只介绍LiteIDE的。 1、下载golang SDK安装包(最新1.4Beta,支持android NativeClient so库开发) golang SDK包分为zip版和msi版本,下载地址在:http://golangtc.com/downloa...阅读全文

博文 2014-11-08 13:00:05 yugeCsc

https原理以及golang基本实现

关于https 背景知识 密码学的一些基本知识 大致上分为两类,基于key的加密算法与不基于key的加密算法。现在的算法基本都是基于key的,key就以一串随机数数,更换了key之后,算法还可以继续使用。 基于key的加密算法又分为两类,对称加密和不对称加密,比如DES,AES那种的,通信双方一方用key加密之后,另一方用相同的key进行反向的运算就可以解密。 不对称加密比较著名的就是RSA,加密的时候有一个公钥和一个私钥,公钥是可以交给对方的,a给b发送信息,a用自己的私钥加密,b用a的公钥解密,反之,b给a发送信息,b用自己的私钥加密。 在通信之前,需要经过一些握手的过程,双方交换公钥,这个就是key exchange的过程,https最开始的阶段就包含了这个key exchange的过...阅读全文

博文 2015-07-12 03:00:00 Goden

golang 之 bson 与 struct 转换

bson的介绍不说了golang下的解析包找到2个 一个是mongo的http://labix.org/gobson,另外一个比较小众https://github.com/sbunce/bson这里用的是mongo的作为例子。对象加上不同的注解,可以轻松转成xml json bson 想想都兴奋 1 package main 2 3 import ( 4 "fmt" 5 "labix.org/v2/mgo/bson" 6 ) 7 8 type TestStruct struct { 9 Name string 10 ID int32 11 } 12 13 func main() { 14 fmt.Println("start") 15 data, err := bson.Marshal(&T...阅读全文

博文 2015-03-13 03:00:01 chuanheng

Mac 安装 GO语言开发环境

官网:https://golang.org/ go语言的安装:http://docscn.studygolang.com/doc/install 下载:go1.4.darwin-amd64-osx10.8.pkg 默认安装,被安装了 /usr/local/go 目录 并自设置了环境变量。 go env 可查看目前的go的环境变量 这go就可以执行了, 下面还要配置一个GOPATH环境变量,是工作目录。 根据约定,GOPATH下需要建立3个目录: bin 存储编译后的可执行文件 pkg 存放编译后生成的包文件 src 存放项目的源码 我把GOPATH建立在/Users/zhaorai/Desktop/gowork vi ~/.bash_profile 加入:export GOPATH=/Use...阅读全文

博文 2014-12-22 01:00:05 elf8848

docker搭建go开发环境

1、搭建私人仓库: 按照http://dockerpool.com/static/books/docker_practice/repository/local_repo.html执行; 2、创建镜像: 参照http://dockerpool.com/static/books/docker_practice/image/create.html 中的“利用Dockerfile”来创建镜像,以创建go开发环境为例如下: # This is a comment FROM centos:7 MAINTAINER shawn chen RUN yum install -y git RUN yum install -y emacs RUN yum install -...阅读全文

博文 2015-01-07 19:00:01 shawn chen

golang 中AES加密详解

golang标准库中对于aes加密的阐述得非常简洁,如果没有一定的密码学基础知识,是很容易迷惑的。 本文将完整地介绍aes加密的基本知识,并分析网络上常见的调用实例。 块密码的工作模式简洁 主要摘抄自wikipedia:块密码的工作模式 基本概念 密码学中,块密码的工作模式(英语:mode of operation)允许使用同一个块密码密钥对多于一块的数据进行加密,并保证其安全性。 块密码自身只能加密长度等于密码块长度的单块数据,若要加密变长数据,则数据必须先被划分为一些单独的密码块。通常而言,最后一块数据也需要使用合适填充方式将数据扩展到符合密码块大小的长度。 一种工作模式描述了加密每一数据块的过程,并常常使用基于一个通常称为初始化向量的附加输入值以进行随机化,以保证安全。 常见的模式有E...阅读全文

博文 2016-06-15 19:00:03 xiaohu50

2015 学习推荐书籍(golang ,web ,机器学习)

golang 以下都是来源于studygolang(一般人都知道): 《The Way to Go 中文 — 无闻译》 https://gobyexample.com/ 50 个 Go 开发者常犯的错误(英) 相对于《golang语言编程》比较适合新手入门。 《golang语言编程》 许式伟 比较全面讲解golang,有项目实例,有跟其他语言的对比,有深度也有广度,当然也就没那么细节了。 个人感觉,不适合第一门语言学习吧。唯有对比才有体会这门工程性语言。 估计,c++和python 都了解后 看更有感触! 《Go 学习笔记 第三版 — 雨痕》 总结性,看完语法在看这个不错,下半部分分析源码的,没投精力看,跳看,个人觉得了解/原理得话,看《深入理解go》加上其他blog就够了。。 ps : 他...阅读全文

博文 2015-06-23 13:07:17 u010129347

Intellij idea14安装google-go-lang-idea-plugin插件无法指定sdk的解决办法

idea14 和go1.4不兼容,一直报这样一个错Argument for @NotNull parameter 'virtualFile' of com/intellij/openapi/projectRoots/impl/ProjectRootContainerImpl.addRoot must not be null 解决办法: google-go-lang-idea-plugin 插件虽然好,但是官方的编译版总是更新很慢,所以需要自己编译,问了老外才知道怎么编译,编译方法如下: I opened this project in IDEA Community 13 (or whatever the latest EAP is), then choose the SDK as the p...阅读全文

博文 2015-02-03 19:00:03 qq_19969471

go lang 后台(守护进程)运行(daemon)

引用:https://bitbucket.org/kardianos/service service will install / un-install, start / stop, and run a program as a service (daemon). Currently supports Windows XP+, Linux/Upstart, and OSX/Launchd. package main import ( "bitbucket.org/kardianos/service" "fmt" "os" ) var log service.Logger func main() { var name = "GoServiceTest" var displayName = "G...阅读全文

博文 2015-06-18 09:09:08 xiunai78

使用 Go 语言实现优雅的服务器重启

Go被设计为一种后台语言,它通常也被用于后端程序中。服务端程序是GO语言最常见的软件产品。在这我要解决的问题是:如何干净利落地升级正在运行的服务端程序。 目标: 不关闭现有连接:例如我们不希望关掉已部署的运行中的程序。但又想不受限制地随时升级服务。 socket连接要随时响应用户请求:任何时刻socket的关闭可能使用户返回'连接被拒绝'的消息,而这是不可取的。 新的进程要能够启动并替换掉旧的。 pseudo翻译于 3周前 2人顶 顶 翻译的不错哦! 原理 在基于Unix的操作系统中,signal(信号)是与长时间运行的进程交互的常用方法. SIGTERM: 优雅地停止进程 SIGHUP: 重启/重新加载进程 (例如: nginx, sshd, apache) 如果收到SIGHUP信号,优雅...阅读全文

博文 2014-12-20 09:00:00 pseudo, Garfielt, Ley

[golang学习] 在idea中code & debug

idea 虽然审美倒退了n年. 不过功能还是相当好用的. idea 的go插件堪称最好的go ide. 1. 语法高亮支持 2. 智能提示 3. 跳转定义(反跳转回来) 4. 集成debugger 还有重构等等功能也不错. 这些都是用起来让人很舒服的功能. 你要是用vim/emacs/sublime啥的. 当我没说. 很多人可能都不知道golang 代码可以debug. 很多人用console gdb命令式的调试. 如果不需要界面化的调试器, 也可以略过了. 1. 语法高亮支持 配色看起来挺搓的. 默认的, 我也懒得改. 大家可以随便改... 2. 智能提示 虽然我觉得VS + VA的提示更吊一点. 不过这样也还不错. 3. 跳转定义(反跳转回来) 这在查看代码时很有用. 比如我跳转到fmt...阅读全文

博文 2014-12-30 22:00:01 lingdhox

学习Golang的步骤建议

一、快速入门 通过快速入门可以宏观的了解Go相关知识。快速入门可以去学习 go-tour 国内可以访问的中文版的 go-tour 地址有下面一些: http://gotour.qizhanming.com/#1 也可以自行搭建 go-tour 的环境, 搭建方法参考: http://www.cnblogs.com/ghj1976/archive/2013/03/08/2949237.html https://github.com/meilihao/tour_book/blob/master/go/conf.md 完成这个快速入门,就可以自己写一些小工具玩玩了, 碰到问题再具体搜索就行。 比如爬虫 Go语言 爬虫1-网络请求 http://www.cnblogs.com/ghj1976/arc...阅读全文

博文 2015-05-30 03:00:16 ghj1976

GO语言已经可以写Android项目了,你知道吗?

新的库名叫go.mobile,包含了Go for Android的库的工具 在go.mobile库的readme中有介绍开发环境的搭建,不过仅限于早期版本,整合进IDE的构建系统还没有呢。 首先需要Android SDK,和NDK。然后需要添加一个环境变量:NDK_ROOT=$HOME/android/ndk-toolchain配置NDK工具ndk/build/tools/make-standalone-toolchain.sh -platform=android-9 --install-dir=$NDK_ROOT安装Go cross-compiler hg clone https://code.google.com/p/gocd go/srcCC_FOR_TARGET=$NDK_CC GO...阅读全文

博文 2014-10-15 10:00:00 q26335804

在 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.gztar 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 下,$G...阅读全文

博文 2015-09-25 10:00:01 徐学良

Go语言中使用SQLite数据库

Go语言中使用SQLite数据库 1、驱动 Go支持sqlite的驱动也比较多,但是好多都是不支持database/sql接口的 https://github.com/mattn/go-sqlite3 支持database/sql接口,基于cgo(关于cgo的知识请参看官方文档或者本书后面的章节)写的 https://github.com/feyeleanor/gosqlite3 不支持database/sql接口,基于cgo写的 https://github.com/phf/go-sqlite3 不支持database/sql接口,基于cgo写的 目前支持database/sql的SQLite数据库驱动只有第一个,我目前也是采用它来开发项目的。采用标准接口有利于以后出现更好的驱动的时候做迁...阅读全文

博文 2015-12-07 03:00:01 songxingzhu

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

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

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