1. 程式人生 > >Go語言初篇

Go語言初篇

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+/,進行多行註釋。

CTRL
+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,可以將選中內容進行大小寫轉化。
IED快捷鍵

  

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語言初篇