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 刘地

http超时设置 golang

golang提供的http get、post请求是没有设置超时的,但实现生产环境一般都需要设置超时时间。 网上搜索,可以查询到通过设置http.Client中Transport的Dail函数,在自定义的Dail函数里面设置建立连接超时时长和发送接收数据超时: c := http.Client{         Transport: &http.Transport{             Dial: func(netw, addr string) (net.Conn, error) {     ...阅读全文

博客园 2014-10-04 19:26:00 vanillar

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的配置方式一样   签名 ...阅读全文

博客园 2014-04-25 09:40 ziyouchutuwenwu

go的隐藏字段的方法

虽然go的编译器会给receiver为值的方法自动实现一个receiver为指针的同名方法,但go的编译器并没有足够聪明 对于包含隐藏字段的某类型,其指针调用隐藏字段的方法是,只会考虑隐藏字段的类型(值/方法),是类似语法糖的东东,它不会因为你是用指针调用的,就选择指针的方法。 package main type A int func (a A) add() { a+=1 } func (a *A) inc() { *a+=1 } type B struct{ A b ...阅读全文

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

golang文件传输服务

续上篇,本篇介绍一个完整的golang文件传输服务器。 完整的代码可以看服务器,客户端 网络使用的框架如上篇介绍,这里就不再复述. 首先定义3个命令码: const ( request_file = 1 file_size = 2 transfering = 3 ) request_file用于请求文件传输,附带的命令参数是文件key. file_size用于通告客户端文件的大小. transfering用于传输文件内容,附带参数是文件内容的二进制数据. 服务器的文件...阅读全文

博客园 2014-03-07 22:27 sniperHW

golang中赋值string到array

常州程序员交流QQ群:123957473 要把一个string赋值给一个array,哥哥遇到一个纠结的困难,研究一番,发现主要原因是array和slice在golang里不是一个东西,本文提供两种解决方案。 在网络编程中network packet transfer,经常要定义固定的字节长度,如下面的f1: package main import "fmt" type T1 struct { f1 [5]byte // I use fixed size here for file...阅读全文

博客园 2013-10-31 12:20 meizhenfen42