前言
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
目录
- Go语言特色
- Go语言用途
- 第一个Go程序
- Go语言基础语法
- 变量
Go语言特色
- 简洁、快速、安全
- 并行、有趣、开源
- 内存管理、数组安全、编译迅速
Go语言用途
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
第一个Go程序
众所周知,学习一门新的编程语言从打印Hello Worald开始,对于Go语言也是一样:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
这是一个简单的Go语言程序,把它命名为hello.go,我们如果要执行上述代码,首先保证Go的环境配置好了,其次在其运行的目录打开终端输入以下命令可以得到输出:
$ go run hello.go
Hello,World!
此外我们还可以使用 go build 命令来生成二进制文件:
$ go build hello.go
$ ls
hello hello.go
$ ./hello
Hello, World!
Go语言基础语法
就以上面hello.go程序为例,分析一下代码结构:
- 第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
- 下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
- 下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
- 下一行 /*...*/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
- 下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。
使用 fmt.Print("hello, world\n") 可以得到相同的结果。
Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。这个与c中的格式化输出函数是一样的。
变量
Go语言定义变量和常量与以前学过的语言不同,像C定义变量都是数据类型在前,标识符在后,比如:
int x = 1
而Go语言刚好相反,它是标识符在前,数据类型在后:
var x int = 1
or
const x int = 1
Go语言还有一个特点是可以根据给出的值自动判断数据类型,像C就必须先给出数据类型然后再进行赋值,不然就会报错:
var x = 1
小结
今天只对Go语言进行了初步的一些介绍,对于项目来说了解这些是完全不够的,但是也在努力钻研中,新的语言,新的挑战,入门容易深入难,以此勉励后来的人。