Go語言初篇
阿新 • • 發佈:2019-04-23
cas 並且 new 包括 ace cloud Golan iot 增加
Go語言初篇
目錄
Go-開發環境
Go-語言基礎
Go-標準庫
Go-面向對象
Go-並發
Go-數據庫
Go-web框架
Go語言開發文檔:https://studygolang.com/pkgdoc
GO語言中文網:https://studygolang.com/
深度開源:https://www.open-open.com/
KanCloud看雲:https://www.kancloud.cn/
個人資料:https://pan.baidu.com/s/1O9RLHCW9FXglYCRHWIslLA 密碼:ebg8
Go-開發環境
GoLand IDE:https://www.jetbrains.com/go/IDE破解:https://www.cnblogs.com/-wenli/p/10739315.html
文件相關快捷鍵: CTRL+E,打開最近瀏覽過的文件。 CTRL+SHIFT+E,打開最近更改的文件。 CTRL+N,可以快速打開struct結構體。 CTRL+SHIFT+N,可以快速打開文件。 代碼格式化: CTRL+ALT+T,可以把代碼包在一個塊內,例如if{…}else{…}。 CTRL+ALT+L,格式化代碼。 CTRL+空格,代碼提示。 CTRL+/,單行註釋。CTRL+SHIFT+/,進行多行註釋。 CTRLIED快捷鍵+B,快速打開光標處的結構體或方法(跳轉到定義處)。 CTRL+“+/-”,可以將當前方法進行展開或折疊。 查找和定位 CTRL+R,替換文本。 CTRL+F,查找文本。 CTRL+SHIFT+F,進行全局查找。 CTRL+G,快速定位到某行。 代碼編輯 ALT+Q,可以看到當前方法的聲明。 CTRL+Backspace,按單詞進行刪除。 SHIFT+ENTER,可以向下插入新行,即使光標在當前行的中間。 CTRL+X,刪除當前光標所在行。 CTRL+D,復制當前光標所在行。 ALT+SHIFT+UP/DOWN,可以將光標所在行的代碼上下移動。 CTRL+SHIFT+U,可以將選中內容進行大小寫轉化。
Go-語言基礎
Hello World
package main import "fmt" func main() { fmt.Println("Hello, World!") } 讓我們來看下以上程序的各個部分: 第一行代碼 package main 定義了包名。你必須在源文件中非註釋的第一行指明這個文件屬於哪個包,如:package main。package main表示一個可獨立執行的程序,每個 Go 應用程序都包含一個名為 main 的包。 下一行 import "fmt" 告訴 Go 編譯器這個程序需要使用 fmt 包(的函數,或其他元素),fmt 包實現了格式化 IO(輸入/輸出)的函數。 下一行 func main() 是程序開始執行的函數。main 函數是每一個可執行程序所必須包含的,一般來說都是在啟動後第一個執行的函數(如果有 init() 函數則會先執行該函數)。 下一行 /*...*/ 是註釋,在程序執行時將被忽略。單行註釋是最常見的註釋形式,你可以在任何地方使用以 // 開頭的單行註釋。多行註釋也叫塊註釋,均已以 /* 開頭,並以 */ 結尾,且不可以嵌套使用,多行註釋一般用於包的文檔描述或註釋成塊的代碼片段。 下一行 fmt.Println(...) 可以將字符串輸出到控制臺,並在最後自動增加換行字符 \n。 使用 fmt.Print("hello, world\n") 可以得到相同的結果。 Print 和 Println 這兩個函數也支持使用變量,如:fmt.Println(arr)。如果沒有特別指定,它們會以默認的打印格式將變量 arr 輸出到控制臺。 當標識符(包括常量、變量、類型、函數名、結構字段等等)以一個大寫字母開頭,如:Group1,那麽使用這種形式的標識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導入這個包),這被稱為導出(像面向對象語言中的 public);標識符如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內部是可見並且可用的(像面向對象語言中的 protected )。hello world
變量、常量、運算符、關鍵字
關鍵字
下面列舉了 Go 代碼中會使用到的 25 個關鍵字或保留字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 除了以上介紹的這些關鍵字,Go 語言還有 36 個預定義標識符: append bool byte cap close complex complex64 complex128 uint16 copy false float32 float64 imag int int8 int16 uint32 int32 int64 iota len make new nil panic uint64 print println real recover string true uint uint8 uintptr 程序一般由關鍵字、常量、變量、運算符、類型和函數組成。 程序中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。 程序中可能會使用到這些標點符號:.、,、;、: 和 …。關鍵字
常量
變量聲明 第一種,指定變量類型,如果沒有初始化,則變量默認為零值。 var v_name v_type v_name = value 零值就是變量沒有做初始化時系統默認設置的值。 數值類型(包括complex64/128)為 0 布爾類型為 false 字符串為 ""(空字符串) 以下幾種類型為 nil: var a *int var a []int var a map[string] int var a chan int var a func(string) int var a error // error 是接口 實例 package main import "fmt" func main() { var i int var f float64 var b bool var s string fmt.Printf("%v %v %v %q\n", i, f, b, s) } 輸出結果是: 0 0 false "" 第二種,根據值自行判定變量類型。 var v_name = value 第三種,省略 var, 註意 := 左側如果沒有聲明新的變量,就產生編譯錯誤,格式: v_name := value 例如: var intVal int intVal :=1 // 這時候會產生編譯錯誤 intVal,intVal1 := 1,2 // 此時不會產生編譯錯誤,因為有聲明新的變量,因為 := 是一個聲明語句變量聲明與定義
var x, y, z int var s, n = "abc", 123一次性定義多個變量
常量
常量用const關鍵字,代表永遠是只讀的,不能修改。 const A = 1 常量值必須是編譯期可確定的字符、字符串、布爾或數字類型的值。 常量不能使用 ":=" 語法定義。 常亮初始化 const x, y int = 1, 2 // 多常量初始化 const s = "Hello, World!" // 類型推斷 const ( //常量組 a, b = 10, 100 c bool = false )常量
const( Mondy = 1 Tuesday = 2 Wednesday = 3 Thursday = 4 Friday = 5 Saturrday = 6 Sunday = 7 )常量使用的例子一(簡單使用)
const( Mondy = iota+1 Tuesday Wednesday Thursday Friday Saturrday Sunday )常量使用的例子二(iota自加1,iota為0)
const( a = iota //0 b //1 c //2 d = "ha" //獨立值,iota += 1 e //"ha" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢復計數 i //8 )常量使用的例子(iota不影響用戶賦值常量)
運算符
+ & += &= && == != ( ) - | -= |= || < <= [ ] * ^ *= ^= <- > >= { } / << /= <<= ++ = := , ; % >> %= >>= -- ! ... . : &^ &^=全部運算符
數據類型
Go-標準庫
Go-面向對象
Go-並發
Go-數據庫
Go-web框架
Go語言初篇