个人工具
119.28.94.63
该IP地址的讨论
登录
查看“Golang”的源代码 - Ubuntu中文
页面
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“Golang”的源代码
来自Ubuntu中文
←
Golang
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
[[File:Golang.png]] golang(中文名:go语言)是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。。如果你想知道得更多,请移步至官网[http://www.golang.org/ golang官网] =golang的介绍= ==简介== Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go是谷歌2009发布的第二款编程语言.2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用它是用来开发Android应用的一种BASIC语言. 北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。 谷歌资深软件工 程师罗布·派克(Rob Pike)表示,“Go让我体验到了从未有过的开发效率.”派克表示,和今天的C++或C一样,Go是一种系统语言.他解释道,“使用它可以进行快速开 发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大.” 2007年,谷歌把Go作为一个20%项目开始研发,即让员工抽出本职工作之外时间的20%, 投入在该项目上.除了派克外,该项目的成员还其它一些谷歌工程师. 派克表示,编译后Go代码的运行速度与C语言非常接近,而且编译速度非常快,就像在使用一个交互式语言. 现有编程语言均未专门对多核处理器进行优化.派克表示,Go就是谷歌工程师为这类程序编写的一种语言.它不是针对编程初学者设计的,但学习使用它也不是非常困难.Go支持面向对象,而且具有真正的封装(closures)和反射 (reflection)等功能. 在学习曲线方面,派克认为Go与Java类似,对于Java开发者来说,应该能够轻松学会 Go. 之所以将Go作为一个开源项目发布,目的是让开源社区有机会创建更好的工具来使用该语言,例如 Eclipse IDE中的插件.目前还没有支持Go的IDE. 在目前谷歌公开发布的所有网络应用中,均没有使用Go.但是谷歌已经使用该语言开发了几个内部项目. 派克表示,Go是否会对谷歌即将推出的Chrome OS产生影响,现在还言之尚早,不过Go的确可以和Native Client配合使用.他表示,“Go可以让应用完美的运行在浏览器内.”例如,使用Go可以更高效的实现Wave,无论是在前端还是后台. Go 同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x86和32位x86计算机的一套编译器(6g和8g).谷歌目前正在研发其对ARM芯片和Android设备的支持.派克表示,“Android手机存在的问题是,我们一直没有一个数字协处理器.” =编译环境= ==golang编译器安装与配置== golang目前有两种编译,一个是golang官方提供的,另一个是gnu提供的gccgo; <b>golang官方编译器安装与配置</b> *安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的 <pre>$ sudo apt-get install bison gawk gcc libc6-dev make</pre> *安装mercurial工具,目的使用hg命令来提取golang的源代码 <pre>$ sudo apt-get install mercurial</pre> *代取提取,如果您的网速比较慢的话,此步要多花点时间 <pre>$ hg clone -u release https://go.googlecode.com/hg/ go</pre> *编译golang <pre> $ cd go/src $ ./all.bash </pre> 假如正常的话,会出现下面的信息 <pre> ALL TESTS PASSED --- Installed Go for linux/amd64 in /home/you/go. Installed commands in /home/you/go/bin. *** You need to add /home/you/go/bin to your $PATH. *** The compiler is 6g. </pre> *配置系统环境 你在~/.bashrc或者 ~/.profile写入你的配置文件,下面我会以.bashrc来说明; 那么,golang要设置那些变量呢? 1、$GOROOT golang的目录,这里我们是~/go 2、$GOOS 和 $GOARCH 系统的参数 设置方法如下: <pre> $GOOS $GOARCH darwin 386 darwin amd64 freebsd 386 freebsd amd64 linux 386 linux amd64 linux arm incomplete windows 386 incomplete </pre> 3、$GOBIN golang的bin目录,这里是~/go/bin 下面是一个配置例子:请大家特别注意$GOOS 和 $GOARCH 的配置 <pre> $ gedit ~/.bashrc </pre> 然后加入 <pre> export GOROOT=~/go export GOARCH=386 export GOOS=linux epxort GOBIN=GOROOT/bin export PATH=$PATH:$GOBIN </pre> <b>gccgo安装</b> gccgo似乎是从4.6开始支持的。也就是说,要在ubuntu用命令安装gccgo只有ubuntu 11.10包括且以上的版本。 大家可以试一下命令<pre>gcc -v</pre>,查看 <pre>--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin </pre> 如果有一个go,说明你的gcc支持golang,那么就执行以下命令安装gcc-go(大家试一下这命令,我不敢确定): <pre>sudo apt-get install gcc-go</pre> 如果用源代码编译的话,请参照gcc编译。这里就不介绍了! ==Hello world== *新建一个hello.go,并写入以下内容: <pre> package main import "fmt" func main() { fmt.Printf("hello, world\n") } </pre> *使用golang官网编译器('注意:'6g是amd64的go编译器,它生成的是.6文件。而386一般使用8g命令,它生成的一般是.8格式的文件。当然还有一个5g的命令是用于arm的cpu,同理amd64用6l,386用8l,arm用5l的链接器!) <pre> $ 6g hello.go $ 6l hello.6 $ ./6.out hello, world </pre> *使用gccgo编译 <pre> $ gccgo hello.go $./a.out hello,world </pre>
返回至
Golang
。