開發環境搭建
- 網址:https://golang.org/dl
- 根據操作系統選擇對應Golang的安裝包
- IDE選用JetBrains的GoLand
- 要是跳出
GOPATH is empty
的情況則增加新專案的src目錄的上一層資料夾
- 要是跳出
- 新建project 父級目錄/src/ —->code文件統一放在src目錄底下
認識go語言
- go語言是針對其他語言的痛點進行設計
- 加入併發編程原生支持(天然併發)
- 為大數據,微服務,並發而生的同用編程語言
- 項目轉型的首選語言
- 沒有對象,沒有繼承多態,沒有泛型,沒有try/catch
- 有接口,函數式編程,CSP併發模型(goroutine + channel)
introduction
- Go語言與Python語言非常類似,一個文件代表一個包(package)
- Go語言所有的庫文件都以包為組合單位,所以皆須導入包名(package name)才能使用
- Go定義變量必須要有明確的類型與c語言同屬於強類型語言,才可進行靜態編譯,運行效率高
- Go中可不用 ; (分號) 結尾 —->Go編譯時會自動加 分號
實現hello world
1 | package main /*說明其為package,若希望編譯完為 可執行文件 package name必須為main |
[1] 調用函數,大部分都需要導入包(package)文件
- go語言以包(package)作為管理單位
- 每個文件必須先聲明包
- 每個程序必須有一個main包
運行程序
cmd切換到go文件所在的目錄下
使用 go run
命令運行.go腳本
利用go run
命令執行.go腳本不需要編譯
1 | > go run helloworld.go |
- 使用
go run
命令時,要將main函數有用到的函數全部加載進去,函數有可能存在別的文件中,因此就必須go run
多個文件
1 | > go run main.go hello.go |
調適工具delve安裝
於cmd底下執行1
go get github.com/derekparker/delve/cmd/dlv
定義變量
var 變量名 類型
example:1
var I_am_int_var int
定義函數並調用
- 定義函數必須以
func
開頭 - 格式
1 | func 函數名(參數a 類型, 參數b 類型) 函數返回的類型 { |
- 左大括號{ 必定要在func函數定義的最後面 不能換行
example:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15package main
import "fmt"
func add (a int, b int) int {
var sum int
sum = a + b
return sum
}
func main() {
var c int
c = add(100, 200)
fmt.Println("100+200=", c)
}
result:1
100+200= 300