第1章 GO综述
1.1 GO语言历史背景
Go是谷歌2009发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言。北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
谷歌资深软件工程师罗布·派克(RobPike)表示,“Go让我体验到了从未有过的开发效率。”派克表示,和今天的C++或C一样,Go是一种系统语言。他解释道,“使用它可以进行快速开发,同时它还是一个真正的编译语言,我们之所以现在将其开源,原因是我们认为它已经非常有用和强大。”
Go同时具有两种编译器,一种是建立在GCC基础上的Gccgo,另外一种是分别针对64位x64和32位x86计算机的一套编译器(6g和8g)。谷歌目前正在研发其对ARM芯片和Android设备的支持。派克表示,“Android手机存在的问题是,我们一直没有一个数学协处理器。”
1.2 文档针对用户和学习条件
本文档是专门为程序员零基础学习GO编程语言。本文档可以让你对GO语言有一个充分的认识。
在看该文档之前,你应该有计算机编程术语有基本的了解。对任何编程语言有基本的了解,都将帮助你了解go编程概念和快速学习。
1.3 一个简单GO程序
对于开发来说,基本上每个编程语言开始都会是helloworld,以下是一个简单的hello world程序代码:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
Go程序可以从3三行到几百万行不等。它通常保存在一个或多个后缀为.go的文件;例如,hello.go。你可以用“vi”,“VIM”或任何其他文本编辑器来编写go程序到文件中。本文假设你知道如何编辑一个文本文件,以及如何编写一个程序文件中的源代码。
1.4 概述
Go是智能系统编程的通用语言。在2007年,它最初是由罗伯特·Griesemer,罗勃·派克和肯·汤普森开发。它支持强和静态类型,支持垃圾自动回收机制,并支持并发编程。程序都分装在包里能有效的规避代码依赖。GO编程实现是通过使用传统的编译和链接模型来生成可执行的二进制文件。GO编程语言是在2009年11月宣布,并在一些谷歌的生产系统的使用。
1.4.1 设计原则
- 支持类似于动态语言环境采用的模式。例如类型推断(X:= 0是int类型的变量x的有效证明)
- 编译时间快。
- 内置的并发支持:轻量进程(viagoroutines),渠道,select语句。
- 简炼,简单和安全
- 支持接口和类型嵌入
- 产生无外部依赖的静态链接本地二进制文件
1.4.2 与其他语言的不同点
为了保持语言简洁明了,如下在类似的语言中常用的功能被禁止:
- 类型继承不支持
- 方法或运算符重载不支持
- 包之间的循环依赖不支持
- 指针运算不支持
- 断言不支持
- 泛型编程不支持
第 2章 GO基础知识
2.1环境搭建
在本机搭建GO语言编程环境,需要安装文本编辑器和GO编译器:
- 文本编辑器
文本编辑器被用来输入的程序。例如:Windows Notepad, OS Edit command, Brief,Epsilon, EMACS, vim ,vi。
文本编辑器的名称和版本可以在不同的操作系统而有所不同。例如,记事本将在Windows上使用,和vim或vi可以在Windows中使用以及Linux或UNIX。
编辑器创建的文件称为源文件和包含程序源代码。对于go程序的源文件通常命名后缀为.go。
在开始编程之前,请确保有一个文本编辑器,有足够的经验来写计算机程序,并保存在一个文件,编译并最终执行。
- GO编译器
写在源文件中的源代码是人类可读的源代码。它需要“编译”,转成机器语言,使CPU可以真正按给定的指令执行程序。
go编译器被用于把编译源代码转换成最后的可执行程序。Go布置在FreeBSD(版本8.0及以上),Linux和Mac OS X的二进制安装(雪豹及以上)和Windows操作系统的32位(386)和64位(AMD64)的x86处理器架构上。
以下部分将指导您如何在各种操作系统安装GO。
2.1.1下载GO压缩包
到链接:https://golang.org/dl/下载最新的GO安装压缩包。在写这个文档前,下载的是go1.4.windows-amd64.msi,把安装包拷贝到C:\GO文件夹中。如下是各操作系统下的安装包名:
OS | Archive name |
Windows | go1.4.windows-amd64.msi |
Linux | go1.4.linux-amd64.tar.gz |
Mac | go1.4.darwin-amd64-osx10.8.pkg |
FreeBSD | go1.4.freebsd-amd64.tar.gz |
2.1.2在UNIX/Linux/Mac OS X和 FreeBSD安装GO
解压下载的压缩包文件到/usr/local路径下,在该路径下创建一个go文件夹。解压命令如下:
tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
添加/usr/local/go/bin到系统变量PATH路径下。命令如下表:
OS | Output |
Linux | export PATH=$PATH:/usr/local/go/bin |
Mac | export PATH=$PATH:/usr/local/go/bin |
FreeBSD | export PATH=$PATH:/usr/local/go/bin |
2.1.3在Windows安装GO
右击go1.4.windows-amd64.msi文件以管理员方式运行。Go默认安装路径为:C:\Go。添加C:\Go\bin路径到系统变量PATH中。重启dos窗口以使更改生效。
2.1.4验证安装
创建一个go文件并命名为test.go,把文件保存到指定路径下,我保存在:D:\GO_Program。
文件名:test.go
| |
|
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
运行test.go的命令行如下:go run test.go。成功输出“Hello, World!”。