Golang:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Lifulinghan留言 | 贡献
 
(未显示12个用户的36个中间版本)
第1行: 第1行:
[[File:Golang.png]]
[[File:Golang.png]]
golang(中文名:go语言)是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。。如果你想知道得更多,请移步至官网[http://www.golang.org/  golang官网]
golang(中文名:go语言)是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。。如果你想知道得更多,请移步至官网[http://www.golang.org/  golang官网]
<i>网络搜索相关资料时,请使用约定的golang作为关键字(因为go关键字的干扰太多)。</i>
=golang的介绍=
=golang的介绍=
==简介==
==简介==
  Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go是谷歌2009发布的第二款编程语言.2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用它是用来开发Android应用的一种BASIC语言.
Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率。 Go语言语法灵活、简洁、清晰、高效。它对的并发特性可以方便地用于多核处理器 和网络开发,同时灵活新颖的类型系统可以方便地编写模块化的系统。go可以快速编译, 同时具有垃圾内存自动回收功能,并且还支持运行时反射。Go是一个高效、静态类型, 但是又具有解释语言的动态类型特征的系统级语法。
   北京时间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手机存在的问题是,我们一直没有一个数字协处理器.”
==应用==
==应用==
  由于Go尚未成熟,因此谷歌旗下各类面向用户的服务或应用都没有采用该语言。正因如此,谷歌才需要外部编程人员的协助。
    由于Go尚未成熟,因此谷歌旗下各类面向用户的服务或应用都没有采用该语言。正因如此,谷歌才需要外部编程人员的协助。<br> 通过创建新的编程语言,谷歌将继续拓展计算领域的各个方面,从而促进这些领域的发展。这同样也是谷歌开发Android操作系统、Chrome浏览器和Chrome OS的动机所在。<br>北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
  派克说:我们需要更好的程序库和工具,而开源社区能够在这些方面为我们提供很大的帮助。
 
  通过创建新的编程语言,谷歌将继续拓展计算领域的各个方面,从而促进这些领域的发展。这同样也是谷歌开发Android操作系统、Chrome浏览器和Chrome OS的动机所在。
  北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
==功能==
==功能==
 Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决若干物件取向程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎但重要的内存管理问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
 Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决若干物件取向程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎但重要的内存管理问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。
第29行: 第20行:
==特点==
==特点==
 简洁 快速 安全 并行 有趣 开源 支持泛型编程,内存管理,数组安全,编译迅速
 简洁 快速 安全 并行 有趣 开源 支持泛型编程,内存管理,数组安全,编译迅速
==go语言的开发团队==
 Thompson:1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言。
  Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。
  Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。
  此外还有Plan 9开发者Russ Cox、和曾改善目前广泛使用之开原码编译器GCC的Ian Taylor。


=编译环境=
=编译环境=
第36行: 第35行:
<b>golang官方编译器安装与配置</b>
<b>golang官方编译器安装与配置</b>


<b>从仓库安装(apt-get)</b>
<pre>
sudo apt-get install golang
</pre>
如果上面的命令执行不了的话,可以尝试以下命令
<pre>
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable
</pre>
<b>从源代码编译安装</b>
*安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的
*安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的
<pre>$ sudo apt-get install bison gawk gcc libc6-dev make</pre>
<pre>$ sudo apt-get install bison gawk gcc libc6-dev make</pre>
第41行: 第53行:
<pre>$ sudo apt-get install mercurial</pre>
<pre>$ sudo apt-get install mercurial</pre>
*代取提取,如果您的网速比较慢的话,此步要多花点时间
*代取提取,如果您的网速比较慢的话,此步要多花点时间
<pre>$ hg clone -u release https://go.googlecode.com/hg/ go</pre>
<pre>$ hg clone -r release https://go.googlecode.com/hg/ go</pre>
*编译golang
*编译golang
<pre>
<pre>
第84行: 第96行:
然后加入
然后加入
<pre>
<pre>
export GOROOT=/go
export GOROOT=~/go
export GOARCH=386
export GOARCH=386
export GOOS=linux
export GOOS=linux
epxort GOBIN=GOROOT/bin
export GOBIN=$GOROOT/bin/
export PATH=$PATH:$GOBIN
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$PATH:$GOBIN:$GOTOOLS
</pre>
</pre>
<b>gccgo安装</b>
<b>gccgo安装</b>
gccgo似乎是从4.6开始支持的。也就是说,要在ubuntu用命令安装gccgo只有ubuntu 11.10包括且以上的版本。
gccgo似乎是从4.6开始支持的。也就是说,要在ubuntu用命令安装gccgo只有ubuntu 11.10包括且以上的版本。
第95行: 第110行:
<pre>--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin </pre>
<pre>--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin </pre>
如果有一个go,说明你的gcc支持golang,那么就执行以下命令安装gcc-go(大家试一下这命令,我不敢确定):
如果有一个go,说明你的gcc支持golang,那么就执行以下命令安装gcc-go(大家试一下这命令,我不敢确定):
<pre>sudo apt-get install gcc-go</pre>
<pre>sudo apt-get install gccgo</pre>
如果用源代码编译的话,请参照gcc编译。这里就不介绍了!
如果用源代码编译的话,请参照gcc编译。这里就不介绍了!
==Hello world==
==Hello world==
*新建一个hello.go,并写入以下内容:
*新建一个hello.go,并写入以下内容:
第122行: 第138行:
hello,world
hello,world
</pre>
</pre>
=编辑器配置=
==vim的golang高亮配置==
把$GOROOT/misc/vim/syntax/go.vim拷贝到 ~/.vim/syntax/ 和 ~/.vim/ftdetect/就行了
==gedit的golang高亮配置==
默认的gedit好像已经有golang的高亮支持,如果你的编辑没有的话,请按以下方法安装
*下载go.lang
<pre>$ wget http://go-lang.cat-v.org/text-editors/gedit/go.lang</pre>
*拷贝到/usr/share/gtksourceview-2.0/language-specs
<pre>$ sudo  cp ./go.lang  /usr/share/gtksourceview-2.0/language-specs/ </pre>
==gedit中编译运行golang配置==
1.打开gedit软件-首选项-插件-把-外部工具-打上对号。
2.菜单栏-工具-Manage Eexternal Tools-单击“+”,名称自己随便填写,快捷键自己设置(比如F3),把下面的代码复制到右边代码区。
3.有一点必须注意gedit必须在终端中打开,而且编辑完成后.go文件后需要保存后在运行快捷键(F3)。
*例如:
<pre>~$ gedit ~/projects/go/test1/hello.go</pre>
*或者:
<pre>~$ gedit</pre>
4.用Go自带编译器编译时,代码有3种格式,根据自己的机器(32位、64位、ARM)选择。
*32位机器代码:
<pre>#!/bin/sh
echo ========================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
GOOUT=$(echo $GONAME | cut -d. -f1)
echo ========================
echo 编译:$GONAME
echo ========================
GOOUT8=$GOOUT".8"
8g $GONAME
8l $GOOUT8
./8.out
echo
echo ========================</pre>
*64位机器代码:
<pre>#!/bin/sh
echo ========================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
GOOUT=$(echo $GONAME | cut -d. -f1)
echo ========================
echo 编译:$GONAME
echo ========================
GOOUT6=$GOOUT".6"
6g $GONAME
6l $GOOUT6
./6.out
echo
echo ========================</pre>
*ARM机器代码:
<pre>#!/bin/sh
echo ========================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
GOOUT=$(echo $GONAME | cut -d. -f1)
echo ========================
echo 编译:$GONAME
echo ========================
GOOUT5=$GOOUT".5"
5g $GONAME
5l $GOOUT5
./5.out
echo
echo ========================</pre>
5.用gcc编译时,所有平台代码都一样(推荐使用gcc,因为错误提示比较清楚,自己感觉吧)
<pre>#!/bin/sh
echo ======================================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
echo ======================================
echo 编译:$GONAME
echo ======================================
gccgo $GONAME
./a.out
echo
echo ======================================</pre>
==geany的golang高亮配置==
这个方法是由golang-nuts的steve horsley提供的:
Copy the standard filetype_extensions.conf to your local config:
*将标准的filetype_extensions.conf 拷贝到你的当前用户的配置里
<pre>$ cp /usr/share/geany/filetype_extensions.conf ~/.config/geany</pre>
Add the extension recognition to ~/.config/geany/filetype_extensions.conf by adding this line:
*把下面内容加入到,便于识别扩展
<pre>Go=*.go;</pre>
*把C定义的filetypes.c考到 filedefs/filetypes.Go.conf
<pre>$sudo cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/filetypes.Go.conf
</pre>
*编辑Go.conf并且更改设置和关键字,例如:
<pre>
[settings]
# default extension used when saving files
extension=go
lexer_filetype=C
[keywords]
# all items must be in one line
primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var
secondary=byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float32 float64 complex64 complex128 uintptr string
</pre>
==其它编辑器==
请查看此处http://go-lang.cat-v.org/text-editors/
=学习资源=
==英文网络资源==
*[http://golang.org/  go语言官方]
*[http://blog.golang.org/  go官方博客]
*[http://go-lang.cat-v.org/  Go Programming Language Resources]
*[http://www.miek.nl/files/go/  一个老外长期更新的免费go书]
==中文网络资源==
*[http://bbs.golang-china.org/  Go语言中文论坛]
*[http://wiki.golang-china.org/    go语言中文wiki]
*[http://golang-china.org/  Go语言中文官网]
*[http://u.youku.com/golangchina  视频资源(大部分是英语的)]
*[http://code.google.com/p/golang-china/  中文文档版本库(SVN)]
*[http://github.com/border/golang-chinaGitHub    与本站SVN同步(GIT)]
*[http://tieba.baidu.com/f?kw=golang&fr=wwwt  golang百度贴吧]
*[http://code.google.com/p/ac-me/downloads/list  一个gofans翻译的学习文档]
==网络在线交流资源==
*QQ群(Go编译语言):102319854
*QQ群(golang交流群):112567750
*[https://groups.google.com/group/golang-china/  邮件列表]
==golang纸质书籍==
*《Go Programming》作者:John P. Baugh 语言:英语  价格:$14
[http://www.amazon.com/Go-Programming-John-P-Baugh/dp/1453636676/ref=sr_1_1?ie=UTF8&s=books&qid=1277418225&sr=1-1  点击购买 ]
*《Programming in Go: Creating Applications for the 21st Century》此书还没有出版,如果你想知道详情请点[http://www.qtrac.eu/gobook.html  这里]
==其它资源==
*Chrome插件: [https://chrome.google.com/webstore/detail/bjifdepdcpccnjmmbjdonhgmagclfhme  The Go Playground]
[[category:golang]][[category:编程语言]]

2013年12月1日 (日) 08:55的最新版本

golang(中文名:go语言)是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。。如果你想知道得更多,请移步至官网golang官网

网络搜索相关资料时,请使用约定的golang作为关键字(因为go关键字的干扰太多)。

golang的介绍

简介

Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率。 Go语言语法灵活、简洁、清晰、高效。它对的并发特性可以方便地用于多核处理器 和网络开发,同时灵活新颖的类型系统可以方便地编写模块化的系统。go可以快速编译, 同时具有垃圾内存自动回收功能,并且还支持运行时反射。Go是一个高效、静态类型, 但是又具有解释语言的动态类型特征的系统级语法。

应用

   由于Go尚未成熟,因此谷歌旗下各类面向用户的服务或应用都没有采用该语言。正因如此,谷歌才需要外部编程人员的协助。
通过创建新的编程语言,谷歌将继续拓展计算领域的各个方面,从而促进这些领域的发展。这同样也是谷歌开发Android操作系统、Chrome浏览器和Chrome OS的动机所在。
北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。

功能

 Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决若干物件取向程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助程序设计师处理琐碎但重要的内存管理问题。Go的速度也非常快,几乎和C或C++程序一样快,且能够快速制作程序。   Go的网站就是用Go所建立,但Google有更大的野心。该软件是专为构建服务器软件所设计(如Google的Gmail)。Google认为Go还可应用到其他领域,包括在浏览器内执行软件,取代目前JavaScript的角色。   Pike说:它至少在强度上比JavaScript高一级。Google自建Chrome浏览器,部分原因就是加速JavaScript和网页表现,而Google已经融合了本身的技术,如Native Client和Gears。   Pike表示,Go另一项与网络相关的特色,是服务器和用户端设备,如PC或手机,可以分担工作。因此,使用Go的服务便可轻松适应不同的用户端处理性能。Go也可解决目前的一大挑战:多核心处理器。一般电脑程序通常依序执行,一次进行一项工作,但多核心处理器更适合同步处理许多工作。Pike说:我们自认有足够的支持,可改善这方面的问题。   Go团队正在寻求帮助。其中一个重要领域是改善Go能够使用的runtime library。这类library可提供许多工具和功能,加快程序设计的过程。而Go的library还包括许多重要的设计元素,并供应处理同作、垃圾收集和其他低层杂务的资源。   Go团队也需要编译器方面的协助。Thompson曾为32位元和64位元x86处理器,及ARM处理器写过一些编译器,Taylor也为GCC编译器写过一个Go前端。   尽管Google对Go有很大的野心,该公司也明白,这项计划无法完全取代现有的技术。Pike说:我不认为我们能取代任何东西。我们只是创造出这个领域的另一个角色。

特点

 简洁 快速 安全 并行 有趣 开源 支持泛型编程,内存管理,数组安全,编译迅速

go语言的开发团队

 Thompson:1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言。

  Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。

  Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。

  此外还有Plan 9开发者Russ Cox、和曾改善目前广泛使用之开原码编译器GCC的Ian Taylor。

编译环境

golang编译器安装与配置

golang目前有两种编译,一个是golang官方提供的,另一个是gnu提供的gccgo;

golang官方编译器安装与配置

从仓库安装(apt-get)

sudo apt-get install golang

如果上面的命令执行不了的话,可以尝试以下命令

sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable


从源代码编译安装

  • 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的
$ sudo apt-get install bison gawk gcc libc6-dev make
  • 安装mercurial工具,目的使用hg命令来提取golang的源代码
$ sudo apt-get install mercurial
  • 代取提取,如果您的网速比较慢的话,此步要多花点时间
$ hg clone -r release https://go.googlecode.com/hg/ go
  • 编译golang
$ cd go/src
$ ./all.bash

假如正常的话,会出现下面的信息

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.

*配置系统环境 你在~/.bashrc或者 ~/.profile写入你的配置文件,下面我会以.bashrc来说明; 那么,golang要设置那些变量呢? 1、$GOROOT golang的目录,这里我们是~/go 2、$GOOS 和 $GOARCH 系统的参数 设置方法如下:

	$GOOS 	$GOARCH 	
	darwin 	386
	darwin 	amd64
	freebsd 	386
	freebsd 	amd64
	linux 	386
	linux 	amd64
	linux 	arm 	incomplete
	windows 	386 	incomplete

3、$GOBIN golang的bin目录,这里是~/go/bin 下面是一个配置例子:请大家特别注意$GOOS 和 $GOARCH 的配置

$ gedit ~/.bashrc

然后加入

export GOROOT=~/go
export GOARCH=386
export GOOS=linux
export GOBIN=$GOROOT/bin/
export GOTOOLS=$GOROOT/pkg/tool/
export PATH=$PATH:$GOBIN:$GOTOOLS


gccgo安装 gccgo似乎是从4.6开始支持的。也就是说,要在ubuntu用命令安装gccgo只有ubuntu 11.10包括且以上的版本。

大家可以试一下命令

gcc -v

,查看

--enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin 

如果有一个go,说明你的gcc支持golang,那么就执行以下命令安装gcc-go(大家试一下这命令,我不敢确定):

sudo apt-get install gccgo

如果用源代码编译的话,请参照gcc编译。这里就不介绍了!

Hello world

  • 新建一个hello.go,并写入以下内容:

package main

import "fmt"

func main() {
	fmt.Printf("hello, world\n")
}
  • 使用golang官网编译器('注意:'6g是amd64的go编译器,它生成的是.6文件。而386一般使用8g命令,它生成的一般是.8格式的文件。当然还有一个5g的命令是用于arm的cpu,同理amd64用6l,386用8l,arm用5l的链接器!)
$ 6g hello.go
$ 6l hello.6
$ ./6.out
hello, world
  • 使用gccgo编译
$ gccgo hello.go
$./a.out
hello,world

编辑器配置

vim的golang高亮配置

把$GOROOT/misc/vim/syntax/go.vim拷贝到 ~/.vim/syntax/ 和 ~/.vim/ftdetect/就行了

gedit的golang高亮配置

默认的gedit好像已经有golang的高亮支持,如果你的编辑没有的话,请按以下方法安装

  • 下载go.lang
$ wget http://go-lang.cat-v.org/text-editors/gedit/go.lang
  • 拷贝到/usr/share/gtksourceview-2.0/language-specs
$ sudo  cp ./go.lang   /usr/share/gtksourceview-2.0/language-specs/ 

gedit中编译运行golang配置

1.打开gedit软件-首选项-插件-把-外部工具-打上对号。

2.菜单栏-工具-Manage Eexternal Tools-单击“+”,名称自己随便填写,快捷键自己设置(比如F3),把下面的代码复制到右边代码区。

3.有一点必须注意gedit必须在终端中打开,而且编辑完成后.go文件后需要保存后在运行快捷键(F3)。

  • 例如:
~$ gedit ~/projects/go/test1/hello.go
  • 或者:
~$ gedit

4.用Go自带编译器编译时,代码有3种格式,根据自己的机器(32位、64位、ARM)选择。

  • 32位机器代码:
#!/bin/sh
echo ========================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
GOOUT=$(echo $GONAME | cut -d. -f1)
echo ========================
echo 编译:$GONAME
echo ========================
GOOUT8=$GOOUT".8"
8g $GONAME
8l $GOOUT8
./8.out
echo
echo ========================
  • 64位机器代码:
#!/bin/sh
echo ========================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
GOOUT=$(echo $GONAME | cut -d. -f1)
echo ========================
echo 编译:$GONAME
echo ========================
GOOUT6=$GOOUT".6"
6g $GONAME
6l $GOOUT6
./6.out
echo
echo ========================
  • ARM机器代码:
#!/bin/sh
echo ========================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
GOOUT=$(echo $GONAME | cut -d. -f1)
echo ========================
echo 编译:$GONAME
echo ========================
GOOUT5=$GOOUT".5"
5g $GONAME
5l $GOOUT5
./5.out
echo
echo ========================

5.用gcc编译时,所有平台代码都一样(推荐使用gcc,因为错误提示比较清楚,自己感觉吧)

#!/bin/sh
echo ======================================
# 打印 跳转 到当前工作目录
echo $GEDIT_CURRENT_DOCUMENT_DIR
cd $GEDIT_CURRENT_DOCUMENT_DIR
GONAME=$GEDIT_CURRENT_DOCUMENT_NAME
echo ======================================
echo 编译:$GONAME
echo ======================================
gccgo $GONAME
./a.out
echo
echo ======================================

geany的golang高亮配置

这个方法是由golang-nuts的steve horsley提供的: Copy the standard filetype_extensions.conf to your local config:

  • 将标准的filetype_extensions.conf 拷贝到你的当前用户的配置里
$ cp /usr/share/geany/filetype_extensions.conf ~/.config/geany

Add the extension recognition to ~/.config/geany/filetype_extensions.conf by adding this line:

  • 把下面内容加入到,便于识别扩展
Go=*.go;
  • 把C定义的filetypes.c考到 filedefs/filetypes.Go.conf
$sudo cp /usr/share/geany/filetypes.c ~/.config/geany/filedefs/filetypes.Go.conf
  • 编辑Go.conf并且更改设置和关键字,例如:
[settings]
# default extension used when saving files
extension=go
lexer_filetype=C

[keywords]
# all items must be in one line
primary=break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var
secondary=byte int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float32 float64 complex64 complex128 uintptr string

其它编辑器

请查看此处http://go-lang.cat-v.org/text-editors/

学习资源

英文网络资源

中文网络资源

网络在线交流资源

  • QQ群(Go编译语言):102319854
  • QQ群(golang交流群):112567750
  • 邮件列表

golang纸质书籍

  • 《Go Programming》作者:John P. Baugh 语言:英语 价格:$14

点击购买

  • 《Programming in Go: Creating Applications for the 21st Century》此书还没有出版,如果你想知道详情请点这里

其它资源