Go語言作為伺服器程式設計語言,很適合處理日誌、資料打包、虛擬機器處理、檔案系統、分布式系統、資料庫代理等;網路編程方面,Go語言廣泛應用於Web應用、API應用、下載應用等;除此之外,Go語言還可用於記憶體資料庫和雲平台領域,目前國外很多雲平台都是採用Go開發。
兄弟連Go語言+區塊鏈培訓課程共計22周學習時間長度,劃分為9個學習階段,即區塊鏈主流語言-Go語言開發實戰、區塊鏈後端技術體系-Go語言高並發和伺服器開發、Go開發區塊鏈公鏈(區塊鏈密碼學、分布式編程、共識演算法、基本概念,Golan公鏈開發)、eth與智能合約與DAPP開發、區塊鏈分布式應用開發、區塊鏈系統架構開發-超級賬本與區塊鏈3.0EOS、Go與區塊鏈面試強化和進階企業階層專案實戰。
控制語句
條件陳述式
條件陳述式不需要使用括弧將條件包含起來();
無論語句體內有幾條語句,花括弧{}都是必須存在的;
左花括弧{必須與if或者else處於同一行;
在if之後,條件陳述式之前,可以添加變數初始化語句,使用;間隔;
在有傳回值的函數中,不允許將“最終的”return語句包含在if…else…結構中,否則會編譯失敗:
func example(x int) int{
var result int
if x == 0 {
result = 5
} else {
result = x
}
return result
}
選擇語句
switch i {
case 0:
fmt.Printf("0")
case 1:
fmt.Printf("1")
case 2:
fallthrough
case 3:
fmt.Printf("3")
case 4, 5, 6:
fmt.Printf("4, 5, 6")
default:
fmt.Printf("Default")
}
switch後面可以不帶運算式
switch {
case 0 <= Num && Num <= 3:
fmt.Printf("0-3")
case 4 <= Num && Num <= 6:
fmt.Printf("4-6")
case 7 <= Num && Num <= 9:
fmt.Printf("7-9")
}
golang的switch有幾個特點:
左花括弧{必須與switch處於同一行;
條件運算式不限制為常量或者整數;
單個case中,可以出現多個結果選項;
Go語言不需要用break來明確退出一個case;
只有在case中明確添加fallthrough關鍵字,才會繼續執行緊跟的下一個case;
可以不設定switch之後的條件運算式,在此種情況下,整個switch結構與多個if…else…的邏輯作用等同。
迴圈
golang只支援for迴圈
for i:=0; i < 10; i++ {
fmt.Println(i)
}
sum := 10
for {
sum++
if sum > 10{
break
}
}
a := []int{1, 2, 3, 4, 5, 6}
for i, j := 0, len(a) – 1; i < j; i, j = i + 1, j – 1 {
a[i], a[j] = a[j], a[i]
}
Go語言的for迴圈同樣支援continue和break來控制迴圈,但是它提供了一個更進階的break,可以選擇中斷哪一個迴圈:
for j := 0; j < 5; j++ {
for i := 0; i < 10; i++ {
if i > 5 {
break JLoop
}
fmt.Println(i)
}
}
JLoop: