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
上一篇: Vaadin 入门 参考手册下载
下一篇: eclipse导出war包排除svn文件