Go語言上手很簡單

Go語言語法簡單易懂,學習曲線平緩,不需要像 C/C++ 語言動輒需要兩到三年的學習期。Go語言被稱為“互聯網時代的C語言”。互聯網的短、頻、快特性在Go語言中體現得淋漓盡致。一個熟練的開發者只需要短短的一週時間就可以從學習階段轉到開發階段,並完成一個高併發的服務器開發。


Go語言是 Google 公司開發的一種靜態型、編譯型並自帶垃圾回收和併發的編程語言。所以它是一門類型安全的語言,加上通過構建到本地代碼,程序的執行速度也非常快。
Go語言的主要目標是將靜態語言的安全性和高效性與動態語言的易開發性進行有機結合,達到完美平衡,從而使編程變得更加有樂趣,而不是在艱難抉擇中痛苦前行。
Go語言在擁有一些動態語言的特性的同時,其語法風格類似於C語言。在C語言的基礎上進行了大幅的簡化,去掉了不需要的表達式括號,循環也只有 for 一種表示方法,就可以實現數值、鍵值等各種遍歷。因此,Go語言上手非常容易。
很多讀者表示自己是在看了介紹後才開始瞭解這門語言的,他們一般也會使用兩到三門編程語言。Go語言對於他們來說,也就是一到兩天的熟悉過程,之後就可以開始使用Go語言解決具體問題了,大約一週左右已經可以使用Go語言完成既定的任務了。
Go語言這種從零開始使用到解決問題的速度,在其他語言中是完全不可想象的。學過 C++ 的朋友都知道,一到兩年大強度的理論學習和實戰操練也只能學到這門語言的皮毛,以及知道一些基本的避免錯誤的方法。
那麼,Go語言到底有多麼簡單?下面通過實現一個 HTTP 服務器來了解一下。

【實例】HTTP 文件服務器是常見的 Web 服務之一。開發階段為了測試,需要自行安裝 Apache 或 Nginx 服務器,下載安裝配置需要大量的時間。使用Go語言實現一個簡單的 HTTP 服務器只需要幾行代碼,如下所示。

<code>package main

import (
"net/http"
)

func main() {
http.Handle("/", http.FileServer(http.Dir(".")))
http.ListenAndServe(":8080", nil)
}/<code>

下面是代碼說明:

  • 第 1 行,標記當前文件為 main 包,main 包也是 Go 程序的入口包。
  • 第 3~5 行,導入 net/http 包,這個包的作用是 HTTP 的基礎封裝和訪問。
  • 第 7 行,程序執行的入口函數 main()。
  • 第 8 行,使用 http.FileServer 文件服務器將當前目錄作為根目錄(/目錄)的處理器,訪問根目錄,就會進入當前目錄。
  • 第 9 行,默認的 HTTP 服務偵聽在本機 8080 端口。


把這個源碼保存為 main.go(Go語言的源文件後綴就是.go),安裝Go語言的開發包(後續我們會講解如何安裝),在命令行輸入如下命令:

<code>$ go run main.go/<code>

在瀏覽器裡輸入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語言語法簡單,具有嚴謹的工程結構設計、沒有頭文件、不允許包的交叉依賴等規則,在很大程度上加速了編譯的過程。


Go語言上手很簡單


分享到:


相關文章: