Go 语言入门指南 | 青训营

51 阅读3分钟

前言

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程序为例,分析一下代码结构:

  1. 第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package mainpackage main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
  2. 下一行 import "fmt"  告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
  3. 下一行 func main()  是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
  4. 下一行 /*...*/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
  5. 下一行 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语言进行了初步的一些介绍,对于项目来说了解这些是完全不够的,但是也在努力钻研中,新的语言,新的挑战,入门容易深入难,以此勉励后来的人。