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

golang些许数据类型

工作之余,每天拿出点时间学习一门新技术,不求精通,但求了解其思想。通过下面途径学习的: http://weiki.tk/Go_Web_Program/preface.html 从java转到golang的我,对于golang的变量定义确实不适应。golang的定义有些像javascript,用var 来定义变量。和java区别在于类型放到了后面。   bool var isActive bool   其实这些都还是可以接受的,对我来讲,初次印象最别扭到地方是类型到名称。bool是布尔值,Go...阅读全文

博客园 2013-10-21 00:11 onivyway

go语言

看了云风的博客,知道go语言大概是 google公司推出的一种新语言,带有gc功能,和string类等。先尝试用下,有时间再去研究下语法和大概的实用性。下面转帖一些go语言在window系统的使用方法。    两个多月前的时候谷歌公司发布了go语言,大概的看了一下,发现还不支持Windows系统,发了个帖子问了一下,大家的建议基本上都是不要去接触。再加上本人搞程序不久还是个菜鸟,所以这个事就这么搁置了。       今天早晨在je上看帖子,发现go好像支持Windows了,于是就索性一顿找资...阅读全文

CSDN博客 2010-11-19 11:09 cyblueboy83

C?Go?Cgo![翻译]

原文: http://golang.org/doc/articles/c_go_cgo.html 中文: http://zh-golang.appsp0t.com/doc/articles/c_go_cgo.html Cgo允许在Go包中调用C代码。如果Go代码含有特殊的cgo语法,可以通过cgo生成相应的Go和C文件,它们可以被编译到一个Go包中。 以一个例子开始,下面的Go包提供了 Random 和 Seed 两个函数,它们是基于C语言的 random 和 srandom 函数的...阅读全文

开源中国博客 2013-04-02 18:07 chai2010

Go语言 goroutine背后的系统知识

Go语言从诞生到普及已经三年了,先行者大都是Web开发的背景,也有了一些普及型的书籍,可系统开发背景的人在学习这些书籍的时候,总有语焉不详的感觉,网上也有若干流传甚广的文章,可其中或多或少总有些与事实不符的技术描述。希望这篇文章能为比较缺少系统编程背景的Web开发人员介绍一下goroutine背后的系统知识。 1. 操作系统与运行库 2. 并发与并行 (Concurrency and Parallelism) 3. 线程的调度 4. 并发编程框架 5. goroutine 1. 操作系统与运...阅读全文

CSDN博客 2014-04-20 19:21 abv123456789

客观的去对待go

这些是大家讨论中来自于@hooluupog 在http://www.oschina.net/news/30754/less-is-more-go-language 一些评论,感觉还是很理性、很不错,所以做了一下简单的整理,来给大家分享下。同时看到其他人的评论,确实也收获很多。         google内部主要使用c++/java还有python,所以没怎么主动推过自己的语言,也没有开发过什么IDE,都是以eclipse插件的形式出现,比如gwt,adt。google以搜索起家,不像微软...阅读全文

开源中国博客 2012-08-13 15:34 Hero_Q

关于go语言

腾讯soso 文/王益       最近几个星期里,我的工余时间基本全部放在学习和使用Go语言上了。这只螃蟹很好吃;向大家推荐。     对Go语言的总体感觉:- Go语言的语法简单(语言的复杂程度小于C++和Java,关键词数量相当于C), - Go程序的编译速度非常快。我尝试了两种Go编译器:   1. Rob Pike的GC编译器编译起来瞬间完成;   2. Ian Taylor的gccgo编译速度虽然不如GC,但是也快过g++,而且代码生成优化做的更好) - 生成的代码的执行效率和g++...阅读全文

CSDN博客 2011-03-30 14:46 soso_blog