Go 世界如此簡單!

Go未來發表於2020-01-10

快速入門

前言

本文會站在一個從未學習Go並且想要了解Go語言開發者的角度,對Go進行簡單的介紹,在此基礎上儘可能的詳細說明Go語言本身的特點。

以下問題由讀者解決

  1. 瞭解Go語言的歷史
  2. 瞭解Go語言的特點、以及Go未來的發展趨勢
  3. 瞭解Go語言開發環境的搭建

歷史

Go語言從1.13 版本開始,採用mod模式進行程式碼的組織方式。不過我們還是先了解gopath的概念。gopath是go以前預設的程式碼組織形式,也可以稱為工作空間。在其目錄下主要有以下三個目錄

  1. bin
  2. pkg
  3. src

bin 是存放可執行檔案的地方,是go install 命令後的結果產物

pkg是go編譯生成的歸檔檔案和平臺相關目錄

src是原始檔的存放位置,包括自己編寫的檔案,以及第三方包

說明

  1. 需要在環境變數中配置GOPATH GOBIN GOROOT

  2. 導包的路徑就是從src後開始

  3. 在學習過程中,不涉及下載包以及專案的程式碼組織方式,所以mod模式也無影響

開始

Go程式如何執行起來?

常規go程式程式碼檔案格式字尾是.go結尾,Go屬於編譯性語言,需要編譯成為可執行檔案才能執行。那麼如何編譯或者說如何進行Go程式執行呢?Go提供了常用的幾種命令供使用,如下所示:

Go is a tool for managing Go source code.
Usage:
	go <command> [arguments]
The commands are:
	bug         start a bug report
	build       compile packages and dependencies
	clean       remove object files and cached files
	doc         show documentation for package or symbol
	env         print Go environment information
	fix         update packages to use new APIs
	fmt         gofmt (reformat) package sources
	generate    generate Go files by processing source
	get         add dependencies to current module and install them
	install     compile and install packages and dependencies
	list        list packages or modules
	mod         module maintenance
	run         compile and run Go program
	test        test packages
	tool        run specified go tool
	version     print Go version
	vet         report likely mistakes in packages
複製程式碼

對於初步開發來講常用如下

  • build 編譯包和依賴項
  • run 編譯程式並且直接執行
  • fmt 格式化程式碼
  • get 獲取遠端包,需要git支援

這裡需要注意,build和run的區別,他們本身的編譯後檔案儲存的路徑就是不同的,run是可執行臨時檔案,build一般是放置在編譯命令的當前目錄下

開發工具

關於Go的開發工具,本人喜歡使用Goland。大家可以根據自己的情況選擇合適的編輯器。

Hello wordl

Go,世界如此簡單!

package main

import "fmt"

func main() {
	fmt.Println("hello world")
}

複製程式碼

說明

  1. Go程式需要有main包、main入口函式
  2. import關鍵字匯入標準包
  3. go run 命令執行當前檔案即可

寫在最後

Go語言的方式是多種多樣的、可以看書、可以看視訊。但是在學習之前希望是有一個清晰的脈絡,瞭解他你才會學的深入,學的紮實。下面我就目前瞭解到的一些資源進行分享

網站

  1. Go語言中文網
  2. Go語言官網

書籍

  1. Go語言實戰
  2. Go語言核心程式設計

部落格

  1. 飛雪無情的部落格
  2. beego作者Go web
  3. 無聞

Hello Go!

author: liyao

email: liyaoo1995@163.com

QQ: 931883200@qq.com

QQ群: 939020194 【加群需要說明來意】

需要獲取文件原始檔可以加作者QQ或者email郵件

相關文章