Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。Robert Griesemer,罗勃·派克及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在Linux及Mac OS X平台上进行了实现。
Go语言的语法接近C语言,但是对于变量的声明是不同的,其他语法不同之处是for循环和if判断式没有括号围绕。Go语言支持垃圾回收功能。Go语言的并行模型是以Tony Hoare的CSP为基础,采取类似模型的其他语言包括occam和Limbo。
Go 语言并不包括如异常处理、继承、泛型、断言、虚函数等功能。当然,Google 对于泛型的态度还是很开放的,但在该语言的常见问题列表中,对于断言的存在,则持负面态度,同时也为自己不提供型别继承来辩护。不同与Java,Go语言内嵌了关联数组(也称为哈希表(hashes)或字典(dictionaries)),就像字符串类型一样。
范例
下面是用Go语言写成的Hello World程序。
package main
import "fmt"
func main() {
fmt.Println("Hello, World")
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
下面的例子说明了怎样用Go语言去实现一个像Unix中的echo命令的程序:
package main
import (
"os"
"flag" // command line option parser
)
var omitNewline = flag.Bool("n", false, "don't print final newline")
const (
Space = " "
Newline = "\n"
)
func main() {
flag.Parse() // Scans the arg list and sets up flags
var s string = ""
for i := 0; i < flag.NArg(); i++ {
if i > 0 {
s += Space
}
s += flag.Arg(i)
}
if !*omitNewline {
s += Newline
}
os.Stdout.WriteString(s)
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
【编辑推荐】