Go语言上手简单
2年前 (2024-04-27)
Go语言语法简单易懂,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go语言被称为“互联网时代的C语言”。互联网的短、频、快特性在Go语言中体现得。一个熟练的开发者只需要短短的一周时间就可以从学习阶段转到开发阶段,并完成一个高并发的服务器开发。
Go语言是 Google 公司开发的一种静态型、编译型并自带垃圾回收和并发的编程语言。所以它是一门类型安全的语言,加上通过构建到本地代码,程序的执行速度也非常快。
Go语言的主要目标是将静态语言的安全性和高效性与动态语言的易开发性进行结,达到平衡,从而使编程变得更加有乐趣,而不是在艰难抉择中痛苦前行。
Go语言在拥有一些动态语言的特性的同时,其语法风格类似于C语言。在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。因此,Go语言上手非常容易。
很多读者表示自己是在看了介绍后才开始了解这门语言的,他们一般也会使用两到三门编程语言。Go语言对于他们来说,也就是一到两天的熟悉过程,之后就可以开始使用Go语言解决具体问题了,大约一周左右已经可以使用Go语言完成既定的任务了。
Go语言这种从零开始使用到解决问题的速度,在其他语言中是完全不可想象的。学过 C++ 的朋友都知道,一到两年大强度的理论学习和实战操练也只能学到这门语言的皮毛,以及知道一些基本的避免错误的方法。
那么,Go语言到底有多么简单?下面通过实现一个 HTTP 服务器来了解一下。
把这个源码保存为 main.go(Go语言的源文件后缀就是
Go语言无须解决方案、工程文件和 Make File,只要将工程文件按照 GOPATH 的规则进行填充,即可使用 go build/go install 进行编译,编译完成的二进制可执行文件统一放在 bin 文件夹下。
Go语言是 Google 公司开发的一种静态型、编译型并自带垃圾回收和并发的编程语言。所以它是一门类型安全的语言,加上通过构建到本地代码,程序的执行速度也非常快。
Go语言的主要目标是将静态语言的安全性和高效性与动态语言的易开发性进行结,达到平衡,从而使编程变得更加有乐趣,而不是在艰难抉择中痛苦前行。
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语言语法简单,具有严谨的工程结构设计、没有头文件、不允许包的交叉依赖等规则,在很大程度上加速了编译的过程。
- 随机文章
- 普吉 马尔代夫 塞班(泰国普吉与马尔代夫、菲律宾塞班并列为最佳海岛旅游胜地)
- 西安 马尔代夫(西安直飞马尔代夫:梦幻度假之旅开始啦!)
- 迪拜-马尔代夫(迪拜至马尔代夫,奢享海岛之旅)
- 去马尔代夫防晒霜(防晒重要,去马尔代夫别忘携带防晒霜)
- 宜都马尔代夫攻略(探索宜人的马尔代夫——宜都旅游攻略)
- 去马尔代夫上飞机(乘坐飞机出发去度假:前往马尔代夫!)
- 帕劳马尔代夫旅游(探索帕劳马尔代夫:全球最美旅游胜地)
- 南亚 马尔代夫(马尔代夫和南亚区域加强合作)
- 怦然心动马尔代夫(美梦成真,你的马尔代夫之旅即将开始)
- 多少能去马尔代夫(想去马尔代夫先看看你的账户存款吧!)
- 保罗乔治马尔代夫(保罗乔治度假马尔代夫,晒出健身照片)
- 在马尔代夫骑鲨鱼(体验马尔代夫深潜,与鲨鱼近距离接触)
- 巴基斯坦马尔代夫(巴基斯坦宣布解除对马尔代夫签证限制)
- 游艇上岛马尔代夫(岛屿探险之旅:游艇驶入马尔代夫海域)
- 沈阳奥体马尔代夫(沈阳奥体马尔代夫游,享受海岛慢生活)
- 泥鳗 马尔代夫(马尔代夫:品尝最新鲜的泥鳗美食)
- 漳州马尔代夫图片(漳州市民拍摄马尔代夫美景,让人陶醉)
- 辉县马尔代夫晚上(辉县市民夜游马尔代夫,感受浪漫之魅)
- 郑州附近马尔代夫(郑州周边有座马尔代夫,游客争相前往)
- 马尔代夫东台简介(探索马尔代夫度假胜地:东台海岛介绍)
- 马尔代夫东航晚点(马尔代夫东航航班延误,游客遭受影响)
- 中国马尔代夫比分(中国队与马尔代夫队足球比赛结果发布)
- 重庆马尔代夫矿山(重庆小村庄的马尔代夫,藏着黄金矿山)
- 川航 马尔代夫(川航开启马尔代夫航线,首航圆满成功!)
- 马尔代夫出什么鱼(马尔代夫珊瑚礁下的丰富海洋生物资源)
- 马尔代夫十大景点(马尔代夫十大景点,惊叹您的度假之旅)
- 马尔代夫出境行李(马尔代夫境外旅游行李规定和注意事项)
- 马尔代夫亚洲图片(亚洲度假胜地马尔代夫:海岛风光盛宴)
- 马尔代夫关闭旅游(马尔代夫暂停旅游业,关闭所有度假村)
- 马尔代夫历任大使(马尔代夫曾派驻多位大使代表国家发声)
