Google Go:新兴语言的代表

Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。Robert Griesemer,罗勃·派克及肯·汤普逊于2007年9月开始设计Go语言,Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,并在Linux及Mac OS X平台上进行了实现。

[[18090]]

Go语言的语法接近C语言,但是对于变量的声明是不同的,其他语法不同之处是for循环和if判断式没有括号围绕。Go语言支持垃圾回收功能。Go语言的并行模型是以Tony Hoare的CSP为基础,采取类似模型的其他语言包括occam和Limbo。

Go 语言并不包括如异常处理、继承、泛型、断言、虚函数等功能。当然,Google 对于泛型的态度还是很开放的,但在该语言的常见问题列表中,对于断言的存在,则持负面态度,同时也为自己不提供型别继承来辩护。不同与Java,Go语言内嵌了关联数组(也称为哈希表(hashes)或字典(dictionaries)),就像字符串类型一样。

范例

下面是用Go语言写成的Hello World程序。

 
 
 
  1. package main  
  2. import "fmt"  
  3.    
  4. func main() {  
  5.  fmt.Println("Hello, World")  

下面的例子说明了怎样用Go语言去实现一个像Unix中的echo命令的程序:

 
 
 
  1. package main  
  2. import (  
  3.  "os"  
  4.  "flag" // command line option parser  
  5. )  
  6.    
  7. var omitNewline = flag.Bool("n", false, "don't print final newline")  
  8.    
  9. const (  
  10.  Space   = " " 
  11.  Newline = "\n" 
  12. )  
  13.    
  14. func main() {  
  15.  flag.Parse() // Scans the arg list and sets up flags  
  16.  var s string = "" 
  17.  for i :0; i < flag.NArg(); i++ {  
  18.   if i > 0 {  
  19.    s += Space  
  20.   }  
  21.   s += flag.Arg(i)  
  22.  }  
  23.  if !*omitNewline {  
  24.   s += Newline  
  25.  }  
  26.  os.Stdout.WriteString(s)  

【编辑推荐】

  1. PHP,***的Web开发语言
  2. Java,编程语言世界里的常胜将军
  3. 汇编语言:从机器语言到高级语言的进化
  4. 机器语言:程序员需要一双灵巧的手
  5. 人类***次编程开发:200倍效率提升为战争
THE END