Go 发布自动更新代码所用 API 的 gofix 工具

下一版本的Go在最基础的软件包方面将包含显著的API变更。除非进行更新,采用新版 API,否则将无法编译实现HTTP服务器句柄、调用net.Dial、调用os.Open及使用reflect软件包的代码。随着Go语言愈加稳定,发布频率减缓将成为常态。每周的快照版本中都会有API变更,部分可能能自动管理;然而,合计起来看,手动更新现有代码的工作量仍然非常地大。 Gofix是一款减轻更新现有代码工作量的新工具。它读取源文件中的程序,查找对旧版API的使用,用当前API进行改写,并将程序写回文件。有些...阅读全文

ITEYE资讯 2011-04-22 10:53 希·梦评论(3)

go语言报错信息

出错信息 fatal error: all goroutines are asleep - deadlock! 出错信息的意思是: 在main goroutine线,期望从管道中获得一个数据,而这个数据必须是其他goroutine线放入管道的 但是其他goroutine线都已经执行完了(all goroutines are asleep),那么就永远不会有数据放入管道。 所以,main goroutine线在等一个永远不会来的数据,那整个程序就永远等下去了。 这显然是没有结果的,所以这个程...阅读全文

开源中国博客 2013-08-09 10:50 waynehu

golang printf

1:  打印包括字段在内的实例的完整信息 同 %+V fmt.Printf("Hello world! %v","hufeng") 输出:Hello world! hufeng 2:打印包括字段和限定类型名称在内的实例的完整信息 fmt.Printf("Hello world! %#v","hufeng") Hello world! "hufeng" 3:打印某个类型的完整说明 fmt.Printf("Hello world! %T","h...阅读全文

博客园 2013-07-22 19:50 dyllove98

go总结

1.数组和切片 如果一个切片是使用一个数组进行初始化的,改变切片或者在切片后增加内容都会导致原数组的变化 这里,其实可以把切片理解为对数组的引用,所以切片元素的增删改,必然会影响数组 http://blog.csdn.net/marcky/article/details/7307985 2.struct 数据可以有匿名数据,这个功能类似于继承,匿名数据不需要变量,直接写类型即可 函数在struct外定义,若修改struct内数据,可以使用指针形式,如果不需要,声明一个即可 http://bl...阅读全文

CSDN博客 2013-12-12 16:27 luan_tianjiao

[转]go正则实例

为了方便提取,我们会把正则表达式中要提取的数据使用命名方式来书写正则表达式。这个技术在Go语言中如何实现,可以看下面这篇博客:Using the Go Regexp Packagehttp://blog.kamilkisiel.net/blog/2012/07/05/using-the-go-regexp-package/简单期间,这里复制其中几个例子的代码:我们期望在字符串  1000abcd123  中找出前后两个数字。例子1:匹配到这个字符串的例子 package main impor...阅读全文

开源中国博客 2014-02-13 23:11 weilai

我为什么选择go语言

这里,我并不打算引起语言争论的口水仗,我并不是什么大牛,对语言的造诣也不深,只是想通过自己实际的经历,来说说为什么我在项目中选择go。 其他语言的经历 C++ 在接触go之前,我已经有多年的c++开发经验。主要用在游戏服务端引擎开发以及P2P上面,那可是一段痛并快乐的时期,以至于我看到任何的程序钉子问题都觉得可以用c++这把锤子给敲定。但是对于互联网项目开发来说,除非你的团队整体的c++技术水平nb,并且有很强的代码规范,不然真可能是一场灾难,更别说我们现有团队几乎没其他人会这玩意了。 本来...阅读全文

CSDN博客 2014-04-27 14:12 siddontang

go语言,环境配置注意事项

go指向空间为 工作空间 不是go所在目录 还有就是必须配置git路径 要不无法使用 go的get功能 对了 gobee的bin在空间根目录里 不设置环境变量命令也是不能直接使用的 所以也得设置下 这是环境变量参考  没有GOPATH的话不能用go get 而且go get必须配置git GOPATH D:\gospace GOROOT  也就是go程序所在根目录 windows时还是写上吧 在linux时当PATH指定go\bin目录时 可以不用写  在linux下如果安装的不是默...阅读全文

CSDN博客 2014-09-19 16:20 xwiwi

go语言

从学校里开始,一直是C语言的狂热支持者,刚开始工作的两年也一直是使用C,后来这七八年因为工作关系,主要使用java,间或一些C++。但C语言的简洁一直让我着迷。   刚才看了许式伟同学关于go的介绍(infoQ中文站上),许同学称go将取代java成为以后排名第一的语言,另外也由于go语言那些鼎鼎大名的作者们(其中包括C语言的作者),忽然对go语言充满兴趣。golang.org居然连不上,从维基百科扫了一下,的确非常让人感兴趣。   同时也非常相信google的经济实力和推广能力,go语言说不定...阅读全文

ITEYE博客 2012-09-06 01:23 spartan1

golang internals

中文的go语言内部细节的资料几乎没有,所以自己研究了一下 声明:本文内容主要来自本人对源代码的研究,以及网上找到的一些资料的整理,不保证完全正确性 ------------------------------------------------------- 函数调用协议 go语言中使用的是非连续栈。原因是需要支持goroutine。 假设调用 go func(1,2,3) ,func函数会在一个新的go线程中运行,显然新的goroutine不能和当前go线程用同一个栈,否则会相互覆盖。 所以对...阅读全文

博客园 2012-04-16 21:15 genius0101

学习正则 - golang实现

元字符: 表1.常用的元字符 代码说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束       字符转义: 如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身...阅读全文

博客园 2014-03-10 11:05 zhengJason

win下 golang 跨平台编译

mac 下编译其他平台的执行文件方式请参看这篇文章,http://www.cnblogs.com/ghj1976/archive/2013/04/19/3030703.html  本篇文章是win下的跨平台编译。 安装GCC编译器(MinGW) 我们需要GCC编译环境,这里我选择的是:MinGW。 mac 下安装了Xcode自动就带了GCC,win下没有,所以我们用MinGW这个最小化安装的GCC。 MinGW官网提供了一种自动在线下载安装的gui小程序,http://sourcefo...阅读全文

博客园 2013-07-06 22:49 ghj1976

golang安装和部署

安装golang GOROOT 理论上只要定义这一个环境变量就可以玩了,go编译的时候会首先在安装目录下寻找包 GOBIN 如果不定义的话,默认是$GOROOT/bin 如果想不切换目录执行go的命令的话.需要将$GOBIN 加入到PATH目录中.这个你懂的 GOPATH 一般是你的开发目录,可以有多个.多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下 $GOPATH 目录约定有三个子目录: src 存放源代码...阅读全文

博客园 2013-04-04 22:52 zhepama

go的变量作用域

go的变量作用域是花括号确定的,任一变量的作用域只在自身所处的花括号范围内 if, for等可以有初始化表达式的,其作用域还要高于其后的花括号一层 package main func main() { x:=1 println(x) for x:=3;;{ print(x," ") break } println(x) if x:=5; true { print(x," ") } println(x) for { x:=7 pri...阅读全文

开源中国博客 2013-07-29 21:33 刘地