GO程式設計 GO入門語法基礎

2021-09-22 08:57:43 字數 3402 閱讀 9725

學習一門語言,首先肯定是要熟悉他的語法,然後才可以進行程式設計開發,雖然本人使用過c++,.net等語言,不過對於go的一些新特性還是需要多多熟悉,否則即使看得懂也寫不出程式來。今天我們就開始我們的go hello world!

當我們新建乙個go module,就會看到乙個main.go,具體**如下所示:

1

2

3

4

5

6

7

8

package main

import"fmt"

func main()

這個就是go的hello world程式,熟悉.net程式的都知道,在.net中以命名空間來區分不同的型別,組織**,而在go中,則使用package的形式來組織**。在引用其他包時,如果沒有特殊定義需要帶上包名稱。  

其中import一看就知道,.net中的using,也可以指定包的別名。也可以省略包名稱,需要使用"_"作為別名。因為每乙個包都有乙個預設的init函式,有時候引入的時候不呼叫裡面的方法,只想執行init方法可以使用「.」來忽略。

當然每乙個應用程式都有乙個特定的入口即main,那個方法不返還任何值。宣告方法使用func,在go中使用結構來定義乙個實體,使用type t struct格式。go也是物件導向的,當然也具備物件導向的一些功能,例如重寫,整合等等。在go中另乙個非常重要的就是介面,go中的介面只能定義方法,而且只要有結構實現了介面中定義的方法就表明實現了這個介面,這個在開發過程中真的有點不適應。

在go中大寫字母開頭的為全域性物件,開一在包外部呼叫,小寫的只能在包內部呼叫。我們再看一下**,這樣能夠更好的理解其中的一些用法,**如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

package main

import(

"os"

"flag"//command line option parser

)

var omitnewline=flag.bool("n", false,"don't print final newline")

const (

space=" "

newline="\n"

)

func main()

s+=flag.arg(i)

}

if!*omitnewline

os.stdout.writestring(s)

}

在go中宣告變數和vb有點像,使用var宣告變數,最後加型別,當然也可以使用使用「:=」格式來直接一步到位。宣告常量使用const,列舉也使用這個,不過列舉的第乙個值需要註明iota,這樣代表下乙個會根據第乙個進行計算得到常量值。

1

2

3

4

5

6

7

8

9

10

11

12

typebytesize float64

const (

_=iota//ignore first value by assigning to blank identifier

kb bytesize=1<<(10*iota)

mb

gb

tb

pb

eb

zb

yb

)

GO程式設計 GO入門語法基礎

學習一門語言,首先肯定是要熟悉他的語法,然後才可以進行程式設計開發,雖然本人使用過c net等語言,不過對於go的一些新特性還是需要多多熟悉,否則即使看得懂也寫不出程式來。今天我們就開始我們的go hello world 當我們新建乙個go module,就會看到乙個main.go,具體 如下所示 ...

Go 入門基礎

seaconch 最近在學習 go 語言程式設計,基礎部分還沒有看完,不過只看不練,或者只過一遍還是感覺不夠牢固,所以決定通過文章來記錄 並且梳理一下已了解過的知識。go 編寫的 檔案都以.go結尾。這裡假設我們有乙個名為 main.go的檔案。那想要將main.go生成乙個可執行的應用程式,至少要...

GO語言基礎語法

語言變數 go語言的語言符號又稱記法元素,共包括5類,標籤符 identifier 關鍵字 keyword 操作符 operator 分隔符 delimiter 字面量 literal 它們是組成go語言 和程式的最基本單位。go語言的所有源 都必須由 unicode 編碼規範的 utf 8 編碼格...