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

GoForCPPProgrammers

https://code.google.com/p/go/source/browse/misc/cgo/gmp/gmp.go?r=release https://github.com/golang/go/wiki/GoForCPPProgrammers http://zacg.github.io/blog/2013/06/06/calling-c-plus-plus-code-from-go-with-swig/ http://stackoverflow.com/questions/1713214/how-to-use-c-in-go http://golang.org/misc/swig/callback/callback.cc (Swig director...阅读全文

博文 2015-06-17 20:14:52 u013834131

GO 语言的GOROOT 和GOPATH

Mac下使用Google官方的Go语言安装包:https://code.google.com/p/go/downloads/list 安装的Go,会自动把 /usr/local/go/bin 目录加入PATH中。这样我们直接在控制台就可以执行go语言的一些命令。 http://golang.org/cmd/go/#hdr-GOPATH_environment_variablehttp://www.cnblogs.com/ghj1976/archive/2013/01/16/2863142.html Go的二进制编译包假设你把Go安装在 /usr/local/go (或者Window是 c:\Go)目录下。当然你也可以安装在其他目录下,不过这时候你就需要设置GOROOT环境变量了。 http:...阅读全文

博文 2016-01-31 10:00:07 productshop

Golang 在UBUNTU下 环境安装步骤

1,环境变量设置 --| cd --| mkdir go --| mkdir bin --| sudo gedit .bashrc 在bash文件的最后添加如下代码来设置目录变量: export GOROOT=$HOME/goexport GOOS=linuxexport GOARCH=386export GOBIN=$HOME/bin保存文件--|source .bashrc--|sudo /etc/profile在文件最后修改PATH,PATH尚未存在,直接添加如下语句,否则添加 export PATH=$HOME/bin:$PATH保存文件--|source /etc/profile执行env | grep '^GO'测试是否已经正确设置GO的环境变量 2,获取资源 --| hg cl...阅读全文

博文 2015-06-17 20:00:13 xinshg

关于golang regexp正则的使用方法

今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式的匹配。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新 http://xiaorui.cc/?p=2982 下面是golang regexp模式的几个用法. regexp本身是含有各种正则的标准用法,只是对于我来说关注的就这么几个。 Python #http://xiaorui.cc #找到索引位置 func (re *Regexp) FindIndex(b []byte) (loc []int) #替换英文成小写 func (re *Regexp) ReplaceAllStringFunc(src st...阅读全文

博文 2017-04-04 19:30:49 rfyiamcool

使用go的io.Pipe优雅的优化中间缓存

BEFORE 今天发现,go的优势除了它的轻量线程(goroutine)提供了更方便灵活的并发编程模式之外,它的I/O机制也设计的非常给力。 之前,我在向其他服务器发送json数据时,都需要先声明一个bytes缓存,然后通过json库把结构体中的内容mashal成字节流,再通过Post函数发送。代码如下: package main import ( "bytes" "encoding/json" "io/ioutil" "log" "net/http" ) func init() { log.SetFlags(log.Lshortfile) } func main() { cli := http.Client{} msg := struct { Name, Addr string Price...阅读全文

博文 2017-02-10 10:28:01 flybywind

GO--基础知识学习一

最近准备开始学习Go,记录在这里方便温习 1、首先要下载安装部署环境,大家Google,好多大神都有相关的步骤说明,具体安装大家可以参考下面的网站 安装参考地址:http://www.cnblogs.com/custa/p/3913526.html Go下载地址:https://golang.org/dl/ LZ下载的是Windows 版本,安装即可,无需配置环境变量 LiteIDE开发工具下载地址:http://www.golangtc.com/download/liteide 下面直接贴出相关测试代码 // test package main //申明引入包 import ( "fmt" "math" ) //1、函数外这种声明方式是不允许的!,函数外什么必须用var func等 //x...阅读全文

博文 2016-05-07 23:00:01 zf0512305

go

http://zh.golanger.com/ref/mem.old http://www.cnblogs.com/yourihua/archive/2012/06/15/2541745.html http://blog.studygolang.com/2012/12/gdb%E8%B0%83%E8%AF%95go%E7%A8%8B%E5%BA%8F/ http://www.yiibai.com/go/go_type.html#go_type info locals // 查看局部变量。 info args // 从参数信息中,我们可以看到命名返回参数的值。 info frame // 堆栈帧信息。 goroutine 1 bt // 当前 goroutine 调用堆栈。 info goro...阅读全文

博文 2015-06-18 09:02:47 kjfcpua

Database Go and JSON

在使用Go开发web项目的过程中, 数据库读写操作与JSON格式的输入输出是两块最基础的模块, Go的标准库已经帮我们做了很多, 熟悉database/sql与encoding/json这两个库能帮我们更自在地开发web应用. 但此篇文章抛开基础不说, 只说一些在开发中遇到一些真实存在的痛点. 如何处理Null值? Go的一大特色就是zero value, 比如int类型的zero value是0, string为"", struct为每个field里各自类型的zero value. 因此在Go的很多ORM处理NULL值时, 都是通过zero value机制入库或出库的, 因此, 使用ORM操作的数据库, 如何没有明确指明, 基本上看不到NULL值. 一个可能为NULL的varchar字段,...阅读全文

博文 2016-08-09 15:00:01 qgymje

GO relate

defer func() { //必须要先声明defer,否则不能捕获到panic异常 if err := recover(); err != nil { fmt.Println(err) //这里的err其实就是panic传入的内容 } }() 刚看到的,关于Go内存管理很不错的一篇文章:http://blog.jobbole.com/48969/ http://monnand.me/p/golang-map-bench/zhCN Go语言中的map的性能分...阅读全文

博文 2016-03-04 13:00:02 peta

Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoSublime

载地址:http://blog.csdn.net/love_se/article/details/7754274 Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在Linux及Mac OS X平台上进行了实现. GO语言吉祥物,很可爱吧。 Go语言的hello world!代码: [java] view plaincopyprint? package main import "fmt" func main() { fmt.Println("Hello...阅读全文

博文 2015-06-17 20:00:59 xd43100678

HDU 3715 Go Deeper(2-SAT + 二分)

【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=3715 【题目大意】 有一个递归代码: go(int dep, int n, int m) begin output the value of dep. if dep < m and x[a[dep]] + x[b[dep]] != c[dep] then go(dep + 1, n, m) end 关键是看第四行, 如果满足条件dep < m and x[a[dep]] + x[b[dep]] != c[dep] 那么就可以进入下一层递归, x数组只取{0, 1}, c数组取{ 0,1,2 }, 而a和b数组取0~m, m是最大能递归的层数,也是数组x的大小。 问最多能递归多少层? 【思路】...阅读全文

博文 2016-02-09 17:00:05 shuangde800

golang 构建web应用

1、介绍 涵盖内容: 为载入和保存方法创建一个数据结构体引用http包来创建一个web应用引用template包来处理HTML模板引用regexp包来验证用户的输入引用 闭包操作 可能涉及到的知识: 设计经验明白基础的web技术(HTTP,HTML)一些UNIX命令行知识 2、 你要有一个可以运行Go语言的计算机或虚拟机,怎么样安装Go,请参考安装Go教程。首先创建一个目录,在目录下创建一个wiki.go文件,用你喜欢的编辑器打开并输入以下内容: package mainimport ( "fmt" "io/ioutil" "os") 这fmt,ioutil和os都是go语言的标准库,一会我将增加其他方法和更多的包。 数据结构 让我们声明一个数据结构,这个结构主要包含两个字段,一个是标题,一...阅读全文

博文 2016-08-23 19:00:04 lb7758zx

golang 函数证明数组为 值类型 数据

package main import "fmt" func modify(arr [5]int) { arr[0] = 10 // 试图修改数组的第一元素 fmt.Println("In modify() arr values:", arr) } func main() { arrmain := [5]int{1, 2, 3, 4, 5} //定义并初始化一个数组 modify(arrmain) // 传递给一个函数,并试图在函数体内修改这个数组的内容 fmt.Println("In main, arrmain values:", arrmain) }本文出自 “专注php 群号:414194301” 博客,请务必保留此出处http://jingshanls.blog.51cto.com/...阅读全文

博文 2017-02-10 10:20:40 lijingsan1

websocket server base on go language

之前使用pusher.com提供的商业服务器,但在我的站速度慢,消息传递有丢失情况,所以自行构架 主要实现通知功能: 1. 根据每个page的 session_id来区分连接,数组方式存放,应对当一个session打开了多个page的情形 2.json格式进行通讯,数据中指定要通知的session,该session下的所有page将收到通知,session_id至少做md5处理 package main import ( "flag" "fmt" "net/http" "code.google.com/p/go.net/websocket") var port *int = flag.Int("p", 443, "Port to listen.") //创建全局map,可以为sess_id,...阅读全文

博文 2016-03-12 07:00:00 ranhuan

1.蛤蟆笔记go语言——入门

1.蛤蟆笔记go语言——入门 简介 Go语言是一门简单、高效、安全和并发的语言。简单到甚至不需要有一个符号表来进行词法分析。它可以快速地编译;整个工程的编译时间在秒以下的情况是常事。它具备垃圾回收功能,因此从内存的角度是安全的。它进行静态类型检查,并且不允许强制类型转换,因而对于类型而言是安全的。同时语言还内建了强大的并发实现机制。 Go语言的作者在设计这一语言时坚持一个单一的指导原则:简单明了至上。 变量是如下声明的: var sum int // 简单声明 var total int = 42 // 声明并初始化 这些声明里的类型跟在变量名的后面。 如果一个变量初始化了,编译器通常能推断它的类型,所以程序员不必显式的敲出来: var label = "name" go语言eclipse开...阅读全文

博文 2016-06-15 00:00:01 notbaron

Go语言开发环境搭建

本文主要介绍Go语言开发环境搭建,目录及版本仅供参考。 Windows(64bit Win7) 1.http://www.golangtc.com/download 下载go1.5.1.windows-amd64.zip 2.http://www.sublimetext.com/3 下载sublime text 3(IDE) 3.将压缩包(go1.5.1.windows-amd64.zip)解压到D:\Software\Development 4.配置环境变量 (1)新建 GOROOT D:\Software\Development\go (2)新建 GOPATH E:\Code\Go\Test (3)在PATH后追加 ;D:\Software\Development\go\bin;E:\C...阅读全文

Go语言反射的使用

Go语言的基本语法的使用已经在前几篇陆陆续续学完了,下面可能想写一些Go的标准库的使用了。 先是reflect库。 reflect库的godoc在http://golang.org/pkg/reflect/ Type和Value 首先,reflect包有两个数据类型我们必须知道,一个是Type,一个是Value。 Type就是定义的类型的一个数据类型,Value是值的类型 具体的Type和Value里面包含的方法就要看文档了: http://golang.org/pkg/reflect/ 这里我写了个程序来理解Type和Value: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...阅读全文

博文 2015-06-17 20:06:15 love_se

命令行工具一个并发下载命令行工具dl

# dl [![Build Status](https://travis-ci.org/ejunjsh/dl.svg?branch=master)](https://travis-ci.org/ejunjsh/dl) 一个并发下载的http文件下载命令行,喜欢的就star下[嘻嘻] # 安装 go get github.com/ejunjsh/dl # 使用 dl [url...] # 例子 ➜ dl https://download.jetbrains.com/idea/ideaIU-2018.2.1.dmg https://download.jetbrains.com/idea/ideaIU-2018.2.1.d...阅读全文

开源项目 2018-08-21 16:13:41 ejunjsh

go语言编程音乐库代码

go语言编程书上有一些代码有误和遗漏的地方,这里就行了修改与加如了一小段代码。---开始,我也搜个百度,大多都是一样的,而且在remove代码块还是有些问题(不能是传name)。好吧!!不多说了.下面展示所有的代码。------------------------------------------------------------------------------------------------------先贴入口文件.mplayer.gopackage main import ( "bufio" "fmt" "os" "strconv" "strings" "mplayer/library" //这里是目录结构哦,别放做了,src下的mplayer目录下的library目录 "m...阅读全文

博文 2017-02-09 08:02:07 lpx312

16.go开源groupcache项目蛤蟆笔记——使用部署说明及小结

16.go开源groupcache项目蛤蟆笔记——部署 groupcache没有服务端与客户端之分。本身没有main函数就是一个库,可以被其他应用集成到代码中。 主要结构说明: consistenthash一致性hash哈希算法, lru(提供了LRU缓存算法,最终存数据的地方,里面使用了两种数据结构,map和list,map用来保存key-value数据,list按访问顺序保存value,这样实现lru,在清理数据的时候,将最久未访问的数据清除掉。 singleflight实现多次相同请求只去获取值一次,减少资源消耗。不会都将请求发到数据库或者其他的实例中,以此来避免”惊群”。 groupcachepb同一个group中的多个实例交互数据,使用pb,减少数据体积。 其他源文件: bytev...阅读全文

博文 2016-10-11 17:00:01 notbaron

Go语言学习资源

Go语言学习资源 下载:http://www.golangtc.com/downloadhttp://www.golangtc.com/download/liteide 安装http://jingyan.baidu.com/article/c85b7a6414e5ee003bac95c6.htmlhttp://blog.csdn.net/shuideyidi/article/details/38390809 中文站http://www.golangtc.com/http://studygolang.com/articles/2480http://blog.studygolang.com/category/package/ http://www.yiibai.com/go/go_start.h...阅读全文

博文 2016-05-28 10:00:03 wangwangfei

Go语言开发工具 LiteIDE x21.1发布

LiteIDE x21.1发布,新版本降低了内存使用,提高速度,实现了新的文档搜索工具,修复了gocode插件和present插件的BUG。 * 源代码下载 https://github.com/visualfc/liteide * 发行版下载 http://sourceforge.net/projects/liteide/files ### 2014.03.20 Ver x21.1 * LiteIDE * reduce application memory usage * add new golang doc search (modification from rspace doc tool) * updat...阅读全文

博文 2015-06-17 20:12:37 visualfc

创建go语言本地文档系统

由于某些原因,国内用户不能很好到访问golang.org,如何在本地建一个和官网一样到文档系统呢?在网上看来一个视屏资料,摘录如下: 在console界面中输入一下命令: godoc -http=:80 //80可以换成没有被占用到任何端口。 此时打开浏览器输入: http://localhost,官网到帮助文件瞬间就展示在你面前来。(go应该是最新到版本才会和官网到文档一样)。如果不是80端口,需要在地址上加上 你设置的端口号...阅读全文

博文 2015-06-17 23:02:38 rznice

Go语言开发工具 LiteIDE0.1.6 released .

LiteIDE简介 go语言开发工具,更新至0.1.6,支持WIN32/Linux64bit。 实现特征: *) UTF8文件读写 *) GO语法高亮 *) 项目管理 *) 支持.pro项目编译 *) 支持无项目单独文件编译 *) gopromake自动编译工具 *) 可以从编译错误中定位到源码 项目主页: http://code.google.com/p/golangide/ 项目下载: http://code.google.com/p/golangide/downloads/list 操作系统支持: WIN32 LINUX LiteIDE简介 go语言开发工具,更新至0.1.6,支持WIN32/Linux64bit。 实现特征: *) UTF8文件读写 *) GO语法高亮 *) 项目管理...阅读全文

博文 2015-06-17 23:00:49 jasontome

golang http server探究(上)

在golang当中启动一个http服务非常简单,比如: http.HandFunc("/",func(w http.RequestWriter,r *http.Request){ io.WriteString(w,"hello world!") }) http.ListenAndServer(":9090") //outprint hello world! 为什么 访问 localhost:9090 就能打印出 Hello world 呢?这背后究竟发生了呢?下面我们就一层一层揭开这个面纱! 1 追踪 http.HandFunc函数,发现它调用了 : DefaultServeMux.HandleFunc(pattern, handler) DefaultServeMux实际是ServerMu...阅读全文

博文 2016-08-29 15:00:10 Tudo

golang里channel的实现原理

channel是消息传递的机制,用于多线程环境下lock free synchronization. 它同时具备2个特性: 1. 消息传递 2. 同步 golang里的channel的性能,可以参考前一篇:http://blog.sina.com.cn/s/blog_630c58cb01016xur.html 此外,自带的runtime package里已经提供了benchmark代码,可以运行下面的命令查看其性能: go test -v -test.bench=".*" runtime 在我的pc上的结果是: BenchmarkChanUncontended 50000000 67.3 ns/op BenchmarkChanContended 50000000 67.7 ns/op Ben...阅读全文

博文 2017-02-09 16:47:36 funkygao

接口安全机制

HMAC-SHA1(基于SHA1哈希算法的消息验证代码) 是一种键控哈希算法。 此 HMAC 进程将密钥与消息数据混合,使用哈希函数对混合结果进行哈希计算,将所得哈希值与该密钥混合,然后再次应用哈希函数。 输出的哈希值长度为 160 位。 虽然安全哈希算法(Secure Hash Algorithm,简称SHA1)是一种不可逆的加密算法,但是由于同样的内容计算之后结果是相同的,且不会重复,所以通过暴力计算,也是能够还原数据。所以HMAC-SHA1就在SHA1的基础上,增加一个密钥。如此一来,只要密钥不被泄漏,就无法破解信息内容。 在接口验证过程中,将要发送的数据参数,再加上要发送时刻的时间片和密钥,通过HMAC-SHA1一并进行计算,请求的时候将计算得到的签名作为参数发送给服务器。服务器也要...阅读全文

博文 2017-02-10 15:59:33 Bryce

[翻译]十条有用的 GO 技术

十条有用的 Go 技术 这里是我过去几年中编写的大量 Go 代码的经验总结而来的自己的最佳实践。我相信它们具有弹性的。这里的弹性是指: 某个应用需要适配一个灵活的环境。你不希望每过 3 到 4 个月就不得不将它们全部重构一遍。添加新的特性应当很容易。许多人参与开发该应用,它应当可以被理解,且维护简单。许多人使用该应用,bug 应该容易被发现并且可以快速的修复。我用了很长的时间学到了这些事情。其中的一些很微小,但对于许多事情都会有影响。所有这些都仅仅是建议,具体情况具体对待,并且如果有帮助的话务必告诉我。随时留言:) 1. 使用单一的 GOPATH 多个 GOPATH 的情况并不具有弹性。GOPATH 本身就是高度自我完备的(通过导入路径)。有多个 GOPATH 会导致某些副作用,例如可能使用...阅读全文

博文 2016-03-16 17:00:01 jiaolongdy

golang 上传文件到php

GO上传文件给PHP,第一篇文章里面少了个request.Header.Set(“Content-Type”, formcontenttype) 希望能够帮助别人 func upimgAction(imgurl string, url string) { path := imgurl extraParams := map[string]string{ "param1": "1", "param2": "2", "param3": "3", } request, err := newfileUploadRequest(url, extraParams, "Filedata", path)//Filedata文件名称 if err != nil { log.Error(err) } //fmt....阅读全文

博文 2016-04-18 16:00:02 mimi886

go语言原生http库分析 (2)

这边我们分析默认的Handler–DefaultServeMux $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering....阅读全文

博文 2016-07-04 01:00:06 idwtwt

基于 Web 的 Go 语言 IDE - Wide 1.5.0 发布!

Wide 是什么 Wide 是一个基于 Web 的 Go 语言团队 IDE。 在线开发:打开浏览器就可以进行开发、全快捷键 智能提示:代码自动完成、查看表达式、编译反馈、Lint 实时运行:极速编译、实时结果输出 团队协同:统一开发环境,分布式开发,代码分享 DevOps! 大家可以使用我们提供的 Wide 在线服务,也可以自行下载并在本地环境运行 Wide 私服! Playground Wide 提供了运行单文件的 Playground,可以看作是 golang.org 的 Go Playground 的增强版: 语法高亮、自动完成 通过 WebSocket 进行实时运行输出 Disqus 整合 能够方便地嵌入其他站点(比如个人博客),请查看 《Go 学习笔记》 进行体验 使用截图 自动完...阅读全文

博文 2016-02-10 16:00:01 DL88250

我的Go语言学习之旅八:创建一个简单的WEB服务器

因为一直在做WEB程序,所以更关注WEB界的发展,这里就用GO做了一个简单的WEB服务器,直接看例子吧 package main import ( "fmt" "net/http" ) // Default Request Handler func defaultHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "

Hello World %s!

", r.URL.Path[1:]) } func getHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "

Hello World Every Guys!

"...阅读全文

博文 2016-02-02 23:00:00 w_yunlong

go的安装

方式一:yum安装(最简单) 12rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install golang方式二:源码安装: 1 2 3 4 5 6 7 8 9 10 wgethttp://go.googlecode.com/files/go1.2.linux-amd64.tar.gz tar-xvfgo1.2.linux-amd64.tar.gz sudocp-rgo/usr/local/go vi/etc/profile exportGOROOT=/usr/local/go exportPATH=$PATH:$GOROOT/bin source/etc/prof...阅读全文

博文 2016-02-01 19:00:00 mingzhehaolove

关于Go语言在服务端做Restful接口和socket通信

请到我的个人博客看golang rest相关文章 http://xiaorui.cc关于Go语言在服务端做Restful接口和socket通信已经转到: http://xiaorui.cc/2014/10/25/%E5%85%B3%E4%BA%8Ego%E8%AF%AD%E8%A8%80%E5%9C%A8%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%81%9Arestful%E6%8E%A5%E5%8F%A3%E5%92%8Csocket%E9%80%9A%E4%BF%A1/下图即是REST的架构图:当REST架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降低了客户端和服务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可...阅读全文

博文 2017-02-09 16:42:01 rfyiamcool

记录golang 的一个坑

使用golang做web服务的时候,会出现一个问题: 他默认页就是index.html,也就是说对于request , http://localhost/ 和http://localhost/index.html, 对于业务层来说,收到的请求全部是http://localhost 这个坑一般情况下是没有问题的,但是如果你想区分这两个请求的时候,就没有办法了,因为进入你的handler的时候,已经无法区分了。 先抱怨一把,为了这个问题,还给领导批了一顿,还害的公司的另外一个同事的印象不好了,挺难过的 好了,不废话了。分析下原因,其实很简单,go里面做了重定向嘛,会把/index.html 这样的请求 自动解析成 / 为了证明自己的想法,就去看了下源码(:-),还好这货是开源的,否则就真要哭了,...阅读全文

博文 2016-04-09 04:00:06 mi_tiger

go语言学习

学习文档 http://gobyexample.everyx.in/ https://docs.ruanjiadeng.com/gopl-zh/index.html Go语言圣经(中文版) https://blaskyy.gitbooks.io/gopl-zh/content/index.html https://www.youtube.com/playlist?list=PLx_Mc4dJcQbl1hwkO3dPwirn70YQsnyKg https://www.outlearn.com/topic/golang https://github.com/astaxie/build-web-application-with-golang https://astaxie.gitbooks.io/...阅读全文

博文 2016-10-10 08:00:07 guoer9973

go语言学习---环境搭设

1. 开发包下载及安装 这个不用多说,直接下载官方的吧。 http://golang.org/ 我下载的是 go1.1.windows-amd64.msi 安装说明:http://golang.org/doc/install windows下要设定GOPATH, GOROOT等环境变量 2.编辑环境使用 sublime text2 关于sublime text2的安装可以参考 http://blog.csdn.net/jwkfreedom/article/details/8450005 只需要把go的package装一下就行了 2.1 和安装nodejs时一样,ctrl+shift+p 弹出package 管理列表后,输入 install package, 2.2 进入package安装选择...阅读全文

博文 2015-06-17 20:06:14 jwkfreedom

GO Lang安装

安装 为了构建 Go 1.x (x ≥ 5),需要先安装 Go 1.4 到 $GOROOT_BOOTSTRAP. 默认的 $GOROOT_BOOTSTRAP 是 $HOME/go1.4. 我们使用 Go 1.4 作为启动的基础版本来编译工具链。 先安装go1.4,再安装go1.6.2或者其他版本。 预置go1.4 下载go1.4.linux-amd64.tar.gz或其他对应包,这种是已经编译好的,比较大,直接就有bin文件可用 将包解压,修改目录名go->go1.4 移动到$HOME/下,安装完成后会有/root/go1.4/bin路径 安装新版本 添加环境变量,~/.bashrc,添加如下变量: export GOROOT=$HOME/go export PATH=$GOROOT/bin...阅读全文

博文 2016-06-21 16:00:00 micklf

我为什么喜欢Go语言

http://www.cnblogs.com/AllenDang/archive/2012/03/03/2378534.html 纵观各类编程语言,但凡语法规范要求灵活,留给使用者更多选择的语言都很难成为“大众语言”,只有一个特例javascript,因为浏览器是一个特殊的战场,除了它别无选择,而其他简洁灵活的语言都只会成为“小众语言”,在各自的领域发光发热,原因就是太过灵活(强大)的语法和设计使得入门门槛降低,但精通成本增高,在团队中的普及成本也比较高;反而是像Java,C#这种规范和限制较多(注意,规范多限制多不是不灵活哦^_^)的语言更适合大面积推广和团队使用,因为种种的规范和限制使得团队原本参差不齐的水平在一定程度上拉近,因为只要按照规范写,高手和新手写的代码也不会有太大的差异,高手...阅读全文

博文 2015-06-17 23:00:24 ilvu999

编写测试友好的Golang代码

目前我们有大量的应用采用了Golang程序进行构建,但是在执行研发流程里我们会发现一些来自于静态编译程序的不便:相对于我们之前使用的Python语言程序而言,我们无法在程序功能的单元测试里大量的使用Mock方式来进行高效测试。 而这些东西往往可以在开发人员编写单元测试用例时有效的节省时间和一些额外的环境准备成本。因此,这也给我们的程序的单元覆盖率带来了很多麻烦的地方:一些依赖于额外验证和表现的情况或者小几率出现的情况需要复杂的模拟步骤,对开发进度和效率带来了一些额外的影响。如何编写一个测试友好的Golang程序成为一个无法绕开的问题。 从动态语言到静态语言 动态语言有良好的运行时修改属性,在运行时的动态修改函数,可以进行有效的Mock。比如在Python(以3为例,内置了unittest.m...阅读全文

博文 2017-02-10 15:41:11 kevin

golang开发环境(2016.9.16)

一.windows下安装 1.下载go1.6.3.windows-amd64.msi,建议默认安装到‘C:\Go\’ (最新版本1.7.1不支持IDEA调试) 2.环境变量 变量 值 说明 GOROOT C:\Go\ 安装程序默认会设置,如果用zip方式安装则手动设置 Path C:\Go\bin 安装程序默认会设置,如果用zip方式安装则手动设置 GOPATH d:\goproject 需要自己设置 3.文件夹d:\goproject下面建3个子文件夹:src, pkg, bin 4.命令行下输入go env,会显示一堆go变量(和上面的环境变量匹配) 二.linux安装 1.下载go1.7.1.linux-amd64.tar.gz,解压到 2.设置环境变量(GOROOT, PATH, G...阅读全文

博文 2016-09-17 03:00:00 wjx0912

Go-资料汇总

Go相关资料: - 软件下载&安装&Document:https://golang.org/ - Go编程语言:国人编写,http://vdisk.weibo.com/s/fBR30EqBY7a - The.Go.Programming.Language.2015.11.pdf:http://download.csdn.net/download/xinconan1992/9298643 - Programming.in.Go.pdf:http://download.csdn.net/detail/lxdong007/7666985 - An Introduction to Programming in Go: http://www.golang-book.com/books/intro - ...阅读全文

博文 2016-10-09 06:00:04 u013344915

Golang测试技术

本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的测试技术(主要针对单元测试),包括基本技术、高级技术(并发测试、mock/fake、竞争条件测试、并发测试、内/外部测 试、vet工具等)等,感觉总结的很全面,这里整理记录下来,希望能给大家带来帮助。原Slide访问需要自己搭梯子。另外这里也要吐槽一 下:Golang官方站的slide都是以一种特有的golang artical的格式放出的(用这个工具http://go-talks.appspot.com/可以在线观看),没法像pdf那样下载,在国内使用和传播极其不便。 一、基础测试技术 1、测...阅读全文

博文 2016-01-28 03:00:01 davygeek

记一次golang 问题的处理

使用简化版本的http post请求会带来一个很莫名其妙的error :EOF 这里有一些解法: 将简化版 的http post改为,client.Do(request),并将request.Close设置为true。 client := &http.Client{} req, err := http.NewRequest(method, url, httpBody) // NOTE this !! req.Close = true req.Header.Set("Content-Type", "application/json") req.SetBasicAuth("user", "pass") resp, err := client.Do(req) if err != nil { // ...阅读全文

博文 2016-02-18 21:00:02 xyzhaopeng

go环境配置

Mac下使用Google官方的Go语言安装包:https://code.google.com/p/go/downloads/list 安装的Go,会自动把 /usr/local/go/bin 目录加入PATH中。这样我们直接在控制台就可以执行go语言的一些命令。 http://golang.org/cmd/go/#hdr-GOPATH_environment_variable http://www.cnblogs.com/ghj1976/archive/2013/01/16/2863142.html Go的二进制编译包假设你把Go安装在 /usr/local/go (或者Window是 c:\Go)目录下。当然你也可以安装在其他目录下,不过这时候你就需要设置GOROOT环境变量了。 http...阅读全文

博文 2015-06-17 20:08:19 s630405377

win7下配置GO语言环境 + eclipse 配置GO开发

IT一直在发展变更,本文写于2013-03-24。 配置可能会随官方改变,本文仅供参考。 1.下载安装GO的包 到https://code.google.com/p/go/downloads/list 下载对应操作系统的包(作者写本文时选的是go1.0.3.windows-amd64.zip ) PS:安装有两种方法,使用MSI安装,自动会帮助配置好环境变量。使用ZIP解压后得自己手动设置环境变量。 2.设置环境变量 在“我的电脑”中配置GO的环境变量: 2.1新建环境变量 GOROOT,值为你所解压的GO的根目录(作者的为 C:\go) 2.2在PATH环境变量中添加GO的bin,作者的为 %GOROOT%\bin; 2.3打开cmd命令行,输入 go。如果配置正确,则会有帮助提示。 3....阅读全文

博文 2015-06-17 20:15:55 ichsonx

Go语言_array,slice,map

首先庆祝下golang终于通过了gfw的审核,可以不用FQ访问了。goer就可以光明正大地访问http://golang.org/ 这次还是要说说array,slice,map。虽然前面已经说过了,但是实际使用中发现对这几个的使用和理解还是不够详细 现在再重新看看这几个类型 array类型 array是固定长度的数组,这个和C语言中的数组是一样的,使用前必须确定数组长度。但是和C中的数组相比,又是有一些不同的: 1 Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份 2 如果Go中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针。这个和C要区分开。因此,在Go中如果将数组作为函数的参数传递的话,那效率就肯定没有传递...阅读全文

博文 2016-07-11 02:00:07 yjf512

golang语言中map的初始化及使用

文链接:http://studygolang.com/articles/2379 // 先声明map var m1 map[string]string // 再使用make函数创建一个非nil的map,nil map不能赋值 m1 = make(map[string]string) // 最后给已声明的map赋值 m1["a"] = "aa" m1["b"] = "bb" // 直接创建 m2 := make(map[string]string) // 然后赋值 m2["a"] = "aa" m2["b"] = "bb" // 初始化 + 赋值一体化 m3 := map[string]string{ "a": "aa", "b": "bb", } // ===================...阅读全文

博文 2016-08-07 20:00:03 hellochenlu

golang学习笔记

与c语法不同之处: 1. 参数列表中各个参数类型相同时可以只写出最后一个,如:add(x, y int) int { return x +y } 2. 类型在参数名(变量/函数)后面 3. 函数的左大括号要跟函数名同一行,否则编译不过 4. 函数定义要先写关键字func在函数开头(函数外的每个语句都要以func、var等等关键字开头) 5. 在包或者函数级别声明变量时要用var语句 6. 函数支持多值返回,如:func swap(x, y string) (string, string) { return y,x } 7. 函数支持命名返回值,如func split(x int) (x, y int) { ... return} 8. 初始化使用表达式时可以不用写类型,由初始值推导出类型 9...阅读全文

博文 2016-08-12 22:00:09 qq_32746725