欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

Google Go编程语言入门

程序员文章站 2022-03-04 16:47:34
...

Go是去年Google推出的一种全新的编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

 

Variable Declarations(变量声明)
var sum int // Just a declaration
var total int = 42 // A declaration with initialization

第一眼看上去有些奇怪,但这样是有好处的,例如下面的这个C代码片段:

int* a, b;

这就意味着a是一个指针,但b却不是。要声明他们都是指针必须重复两次,但在Go中,你可以这样声明:

var a, b *int

 

当一个变量被初始化后,编译器会自动识别他的类型,所以不必要指明其类型:

var label = "name"

 

这样var关键字也就多余了,因此作者提出了一个新的赋值操作符声明并初始化一个新变量:

name := "Samuel"

Conditionals(条件) 

Go中的条件句使用If-else,与C语言相同。但是它的条件不需要包含在括号中,这将减少阅读代码时的视觉混乱。当然,在条件之前还可以添加一个简单的声明。

 

result := someFunc();
if result > 0 {
	/* Do something */
} else {
	/* Handle error */
}

还可以:

if result := someFunc(); result > 0 { 
	/* Do something */
} else {
	/* Handle error */
}

 

Switches

Switches 语句也与C类似,但是在C的基础上进行了改进。

 

 C 代码:

int result;
switch (byte) {
 case 'a':
 case 'b':
   {
     result = 1
     break
   }

 default:
   result = 0
}

 Go 代码:

var result int
switch byte {
case 'a', 'b':
  result = 1
default:
  result = 0
}

 

Go 匹配的不仅仅是integer和character类型。

 C 代码:

int result = calculate();
if (result < 0) {
  /* negative */
} else if (result > 0) {
  /* positive */
} else {
  /* zero */
}

Go 代码:

switch result := calculate(); true {
case result < 0:
  /* negative */
case result > 0:
  /* positive */
default:
  /* zero */
}

当switch的值被忽略时,假设为真,所以上述代码还可简化为:

switch result := calculate(); {
case result < 0:
  /* negative */
case result > 0:
  /* positive */
default:
  /* zero */
}

 

原文对Go语言的语法进行了详细的介绍,此文章只是原文的一小部分,更多详情请查看原文:Google Go: A Primer

相关标签: Go 编程 Google