首页 > Go语言教程 > Go语言简介 阅读:1,438

Go语言上手简单

pk10开户推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应!

Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的C语言”。互联网的短、频、快特性在 Go 语言中体现得淋漓尽致。一个熟练的开发者只需要短短的一周时间就可以从学习阶段转到开发阶段,并完成一个高并发的服务器开发。

Go 语言是 Google 公司开发的一种静态型、编译型并自带垃圾回收和并发的编程语言。

Go 语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。因此,Go 语言上手非常容易。

很多读者表示自己是在看了介绍后才开始了解这门语言的,他们一般也会使用两到三门编程语言。Go 语言对于他们来说,也就是一到两天的熟悉过程,之后就可以开始使用 Go 语言解决具体问题了,大约一周左右已经可以使用 Go 语言完成既定的任务了。

Go 语言这种从零开始使用到解决问题的速度,在其他语言中是完全不可想象的。学过 C++ 的朋友都知道,一到两年大强度的理论学习和实战操练也只能学到这门语言的皮毛,以及知道一些基本的避免错误的方法。

那么,Go 语言到底有多么简单?下面从实现一个 HTTP 服务器开始了解。

HTTP 文件服务器是常见的 Web 服务之一。开发阶段为了测试,需要自行安装 Apache 或 Nginx 服务器,下载安装配置需要大量的时间。使用 Go 语言实现一个简单的 HTTP 服务器只需要几行代码,如下所示。
package main

import (
    "net/http"
)

func main() {
    http.Handle("/", http.FileServer(http.Dir(".")))
    http.ListenAndServe(":8080", nil)
}
下面是代码说明:
  • 第 1 行,标记当前文件为 main 包,main 包也是 Go 程序的入口包。
  • 第 3~5 行,导入 net/http 包,这个包的作用是 HTTP 的基础封装和访问。
  • 第 7 行,程序执行的入口函数 main()。
  • 第 8 行,使用 http.FileServer 文件服务器将当前目录作为根目录(/目录)的处理器,访问根目录,就会进入当前目录。
  • 第 9 行,默认的 HTTP 服务侦听在本机 8080 端口。

把这个源码保存为 main.go(Go 语言的源文件后缀就是.go),安装 Go 语言的开发包(后续我们会讲解如何安装),在命令行输入如下命令:

$ go run main.go

在浏览器里输入http://127.0.0.1:8080即可浏览文件,这些文件正是当前目录在HTTP服务器上的映射目录。

Go 语言工程结构简单

Go 语言的源码无须头文件,编译的文件都来自于后缀名为.go的源码文件。

Go 语言无须解决方案、工程文件和 Make File,只要将工程文件按照 GOPATH 的规则进行填充,即可使用 go build/go install 进行编译,编译安装的二进制可执行文件统一放在 bin 文件夹下。

后面的章节会介绍 GOPATH 及 go build/go install 的详细使用方法。

Go 语言编译速度快

Go 语言可以利用自己的特性实现并发编译,并发编译的最小元素是包。从 Go 1.9 版本开始,最小并发编译元素缩小到函数,整体编译速度提高了 20%。

另外,Go 语言语法简单,具有严谨的工程结构设计、没有头文件、不允许包的交叉依赖等规则,在很大程度上加速了编译的过程。