如何學習GO

Refrain_xxx發表於2021-07-01

如何學習 Go

Go 語言的設計初衷

  1. 針對其他語言的痛點進行設計
  2. 加入併發程式設計
  3. 為大資料,微服務,併發而生的通用程式語言

Go 語言很特別

  1. 沒有”物件”,沒有繼承多型,沒有泛型,沒有 try/catch
  2. 有介面,函數語言程式設計, CSP 併發模型( goroutine + channel )
  3. 學習 go 語言簡單,應為語法簡單

通過示例學習 Go

  1. 語法部分:每個小片段解決實際問題
  2. 綜合部分:經典演算法+典型例題+微型專案
  3. 實戰專案部分:搭建分散式爬蟲,結構複雜

學習概覽

  1. 基本語法
    . 變數
    . 選擇,迴圈
    . 指標,陣列,容器
  2. 面向介面
    . 結構體
    . duck typing的概念
    . 組合的思想
  3. 函數語言程式設計
    . 閉包的概念
    . 多樣的例題
  4. 工程化
    . 資源管理,錯誤處理
    . 測試和文件
    . 效能調優
  5. 併發程式設計
    . goroutine 和 channel
    . 理解排程器
    . 多樣的例題

專案實現

Go
Go
Go


Go語言的安裝

  1. 下載: studygolang.com/dl (國內映象)
    下載注意事項:
    1. Go 官方網址為 golang.org 訪問較為困難所以使用國內映象
    2. 安裝包下載是注意選擇 go1.13 或者以上版本, 1.13對映象功能進行了完善
  2. 國內映象配置
    安裝完成後可以使用 go version 檢視 go 是否安裝成功(請使用1.13或以上版本)
    通過 go env 檢視映象配置
    Go
  • GOPROXY 是拉取依賴或者第三方庫所訪問的網址,如果可以提供則直接從網址中拉取,如果無法提供就 direct 從github庫中拉取,圖中網址為谷歌網址,建議替換為國內映象庫.
    替換映象命令: 終端執行 go env -w GOPROXY=https://goproxy.cn,direct
  • GOMODULE(圖中為GO111MODULE) 的值為 on/off ,當前預設為空.
    空的意思是當前目錄在 GOPATH下為 on ,如果不在GOPATH下為 off
    建議將其預設值開啟,有時候 on 有時候 off 非常容易踩坑
    開啟 GOMODUL 命令: go env -w GO111MODULE=on
  1. 安裝 goimports
    go get -v golang.org/x/tools/cmd/goimports
    Go(安裝成功)

Go 開發環境

常用開發環境: vi,emacs,idea,eclipse,vscode,sublime… + go外掛 或者直接使用 Goland 進行開發

  1. idea + go 外掛的使用

    1. 安裝 idea(Ultimate)
    2. 安裝 go 外掛
      Go
      選擇右下角 configure -> plugins 搜尋 go 進行安裝
      Go
      搜尋 file watcher 進行安裝 (每次儲存執行程式碼可以按照go語言標準進行格式化)
      Go
    3. 建立專案
      選擇 Go Modules(vgo) 注意 Proxy 中的路徑是否正確,如果是direct 記得替換成之前設定的 https://goproxy.cn,direct
      Go
      設定goimports
      開啟設定 搜尋 file watcher 點選新增 選擇 goimports 點選確定
      Go
      goimpront 可以在儲存時可以將程式碼格式化,沒有新增的import自動新增上去並且排序,非常的方便
  2. vscode + go 外掛
    vscode 對 go 的支援也非常的好,在使用go語法時未安裝會自動跳出安裝提示,按照提示安裝即可
    注意: vscode 執行 go 需要在命令列中執行相關檔案即可.
    Go

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章