2.1 Go語言從入門到精通:Go語言基礎(chǔ)語法


作者:xcbeyond
瘋狂源自夢想,技術(shù)成就輝煌!微信公眾號:《程序猿技術(shù)大咖》號主,專注后端開發(fā)多年,擁有豐富的研發(fā)經(jīng)驗,樂于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項目的研發(fā)工作,涉及架構(gòu)設(shè)計、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對于Java、微服務(wù)、數(shù)據(jù)庫、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗。 









文章目錄

    1、命名規(guī)則
    2、關(guān)鍵字
    3、注釋
    4、行分隔符
    5、字符串輸出
    6、字符串拼接

與其他編程語言一樣,Go語言項目(大程序)都是從基本組件和基本語法編寫而成。上一章節(jié)我們已經(jīng)了解了 Go 語言的樣子,本章節(jié)我們將學(xué)習Go語言的基礎(chǔ)語法,也將是接下來所有Go程序中不可或缺的部分。
1、命名規(guī)則

Go中類型、變量、常量、語句標簽、包和函數(shù)的命名都遵循一個簡單的規(guī)則:**命名的開頭是一個字母或下劃線而不能是數(shù)字,后面可以跟任意數(shù)量的字符、數(shù)字和下劃線,并區(qū)分大小寫。**如xcbeyond和xcBeyond是不同的標識符。

以下是有效的標識符:

mahesh   kumar   abc   move_name   a_123
myname50   _temp   j   a23b9   retVal

   
以下是無效的標識符:

    1ab:以數(shù)字開頭
    case:Go 語言的關(guān)鍵字
    a+b:運算符是不允許的

2、關(guān)鍵字

Go語言和其他語言一樣,也有一些關(guān)鍵詞供程序使用。Go中有25個關(guān)鍵字或保留字:

 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

    

除了以上介紹的這些關(guān)鍵字,Go 語言還有 36 個預(yù)定義標識符:

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

 
3、注釋

注釋,是為了增強代碼的可讀性,但不參與程序的一切功能,不會被編譯。每個程序都應(yīng)該在適當?shù)奈恢锰砑幼⑨?,用于功能、實現(xiàn)、標注等說明,如果你不想不其他人唾棄,請一定養(yǎng)成編寫注釋的習慣,注釋和代碼同樣重要。






Go語言的注釋主要分為兩類:

    單行注釋:你可以在任何地方使用以 // 開頭的單行注釋,是最常見的注釋形式。
    多行注釋:也叫塊注釋,以 /* 開頭,并以 */ 結(jié)尾。

如下所示:

package main

import "fmt"

func main() {
    // "Hello World!" Go語言程序
    fmt.Println("Hello World!")

    // 這是一個單行注釋

    /*
       這是一個多行注釋
       by xcbeyond
    */
}

    

4、行分隔符

在Go程序中,一行代表一個語句結(jié)束。每個語句不需要像Java等其它語言一樣以分號; 結(jié)尾,因為這些工作都將由Go編譯器自動完成。

如果你打算將多個語句寫在同一行,則必須使用;人為區(qū)分,但在實際開發(fā)中我們并不鼓勵這種做法。

以下為兩個語句:

fmt.Println("Hello, World!")
fmt.Println("Hello, xcbeyond!")

   

5、字符串輸出

Go語言的字符串輸出可以通過函數(shù)fmt.Println或fmt.Print實現(xiàn),fmt.Println會輸出后換行,類似于Java語言中的System.out.println和System.out.print。

如下所示:

package main

import "fmt"

func main() {
    // 輸出后換行
    fmt.Println("xcbeyond,帥么?")
    // 輸出后不換行
    fmt.Print("帥!")
    fmt.Print("太帥了!")
}

   

輸出結(jié)果:

xcbeyond,帥么?
帥!太帥了!

此外,字符串輸出還可以進行格式化輸出,后續(xù)章節(jié)會進行介紹。
6、字符串拼接

Go語言的字符串拼接最常用的方法是通過+ 實現(xiàn):

package main

import "fmt"

func main() {
    fmt.Println("xc" + "beyond")
}

    

輸出結(jié)果:

xcbeyond

    

    +實現(xiàn)拼接,會產(chǎn)生一個新的字符串對效率有所影響。除此之外,還可以借助函數(shù)fmt.Sprintf、strings.Join、buffer.WriteString等實現(xiàn),后續(xù)字符串章節(jié)會詳細介紹。