iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
Modern Web

Go into Web!系列 第 2

Day2 | Golang 介紹與環境設定

所謂知己知彼,百戰百勝,在學習一項語言之前,先了解一下他有什麼特性可以讓我們在學習上更得心應手!

今天主要會分成兩個部分,首先會先介紹 golang 是什麼,之後在講解如何在自己的電腦上設定開發環境

讓我們開始吧!


Golang 是什麼

背景

Golang 是由 2007 年 9 月由 Google 的 Rob Pike 與 Ken Thompson 開始設計,於 2009 年 11 月正式 release,於 2016 年被 TIOBE 評選為「2016 最佳程式語言」。

特性

Golang 的語法與 C 語言類似,內部都具有指標的功能,可以更有效地控制與運用記憶體,以下分別來介紹幾項特點

1. open source

golang 為開放原始碼的專案,任何想了解他底層是怎麼運作的都可以到 github 查看專案,如果覺得有哪些功能不好,也可以發 PR 給 Golang 開發團隊,任何人都可以為 golang 進行貢獻的。

2. 靜態型別

因為靜態型別的特性,使得我們在編譯的期間就可以進行完整的型別檢查,幫助我們就找到大部分的型別錯誤。

3. 編譯速度

編譯是將高階程式碼轉換為低階程式碼的過程,golang 與 C 和 C# 相同,都需要透過編譯產出執行檔,但以往編譯語言都有著編譯速度緩慢的問題,但 golang 在設計上就是以快速編譯著名,且在編譯的時候不用相依於其他的 library,所以大家不用擔心這個問題。

4. 原生支援併發

在目前一台電腦都有多顆核心的時代下,golang 在先天設計上就支援了併發,也就是所謂的 goroutine,goroutine 是屬於輕量型的併發機制,因此建立上萬的 process 在使用 golang 開發時不是夢!

5. 完善的 GC 機制

以往 C/C++ 給予開發者較為自由的記憶體管理權限,但如果在使用上忘記釋放會可能會有 memory leak 的情況發生,但是使用 golang 開發,開發者不需要主動去管理記憶體,golang 的 gc 機制會自動掃瞄無用的 object 或是 variable 並進行記憶體的回收利用,因此,使用者只需要透過 new 的方法分配記憶體,不需要額外的關注釋放的問題。

6. 強制規範的 code style

以往在協同開發的時候最痛苦的時候就是進行 code review 了,雖然在開發上已經有規範好 code style,但每個人都會有自己的一套寫法,在看的時候往往會出現強迫症想換行等等,但是使用 golang 就不會有這個問題,golang 有強制規範什麼地方該換行、全部都使用 tab 作為空格等等,讓開發者不必再為了 code style 所苦惱了,真的是一大福音!

講完這麼多特性相信大家一定迫不期待的想開始學習了吧,就讓我們從安裝開始!

設定開發環境

目前使用環境為 macOS Catalina(10.15.4),所以範例主要會以 macOS 為主,其他的 OS 會附上相關連結

安裝

Golang 常見的安裝方法就跟斯斯一樣有三種,以下分別介紹這三種方式,大家可以選擇自己喜歡的進行服用

  1. 透過 source code 安裝
    對於有需要客製化原始碼需求的人建議使用這種方式進行安裝。
  2. 使用標準安裝套件安裝
    由 Golang 開發團隊所提供的安裝工具,目前支援 WindowsLinuxMac 三大系統,是典型的 one click 的安裝模式。
  3. 透過第三方工具進行安裝
    mac 中可以用 homebrew 套件管理工具來安裝,在 linux 中可以依照不同的 os 使用 yum 或是 apt 進行安裝。

上述三種方法就依照個人喜歡來選擇,沒有哪一個最好或是最差,下面我會詳細介紹三種方法要如何安裝。
【備註】以下範例是以 mac 環境為主,windowslinux 的安裝方法如下

windows 安裝

教學連結

linux 安裝

教學連結

透過 source code 安裝

前置條件

需要先安裝 xcodexcode 會提供相關的編譯工具

安裝步驟
  1. 官方網站下載 source code,也就是找到副檔名為 .src.tar.gz 的檔案進行下載(如下圖)
  2. 將檔案進行解壓縮後放到 $home 目錄底下,執行以下指令將行安裝
cd go/src
./all.bash
  1. 等待腳本執行完畢之後,看到 ALL TESTS PASSED 字樣就是安裝完成了!
  2. 需要修改 ~/.bash_profile 檔案,在最下面加上以下指令,加入完畢之後使用 source ~/.bash_profile 指令使其生效,這行指令的用意在於讓 $path 的設定在重開機後也能夠生效,這樣就安裝完成拉!
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
windows 安裝教學
linux 安裝教學

使用標準安裝套件安裝

  1. 官方網站下載副檔名為 .pkg 的安裝檔(如下圖)
  2. 打開檔案安裝檔後,點選 繼續 直到安裝完成,這樣就成功安裝了!

透過第三方工具進行安裝

  1. 使用以下指令安裝 homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  1. 透過以下指令安裝 golang
brew update && brew upgrade
brew install go
brew install git

驗證

輸入以下指令驗證 golang 是否成功安裝

go version

顯示下圖就表示,恭喜你!已經成功完成了安裝!


小結

今天主要是跟大家分享了 golang 的相關特性以及使用各種方法將環境設定完成,設定完成之後我們就可以開始真正的 go into web 拉!大家明天見摟!

本文會同步到 medium

參考來源


上一篇
Day1 | 萬事起頭難
下一篇
Day3 | Web 基礎原理介紹
系列文
Go into Web!30

尚未有邦友留言

立即登入留言