Go內建關鍵字分析(一)

2021-08-21 04:54:22 字數 3985 閱讀 5738

go語言中總共有25個關鍵字,如下所示:

作用:定義變數

舉例:

var x int=4 or x:=4
注意:a.在函式

中,:=

簡潔賦值語句在明確型別的

前提下,可以用於替代 var 定義。

b.:= 結構不能使用在函式外,函式外的每個語法塊都必須以關鍵字開始。

演示:

package main

import (

"fmt"

)func main()

作用:定義常量

定義:

const identifier [type] = value
a.

[type]型別可以省略,編譯器可以根據變數的值來推斷其型別.

顯示型別:const b string = "abc"
隱式型別:const b = "abc"
b.

多個相同型別的宣告可以簡寫為:

const name1 , name2  = value1 , value2
演示:

package main

import "fmt"

func main()

作用:包管理

a. package是

golang

最基本的分發單位和工程管理中依賴關係的體現。

b. 每個golang源**檔案開頭都擁有乙個

package

宣告,表示該

golang

**所屬的

package

。c. 要生成golang可執行程式,必須建立乙個名為

main

的package

,並且在該

package

中必須包含乙個名為

main()

的函式。

d. 在golang工程中,同乙個路徑下只能存在乙個

package

,乙個package

可以拆成多個原始檔組成。

作用:匯入

a. import關鍵字匯入的是

package

路徑b. import的目錄名和原始檔中使用的

package

名一致容易造成

import

關鍵字後即是

package

名的錯覺,真正使用時,這兩者可以不同。

舉例:

c. import 「

fmt」最常用的一種形式

d. import 「

./test

」匯入同一目錄下

test

包中的內容

e. import f 「

fmt」匯入

fmt,並給他啟別名f

f. import . 「

fmt」,將

fmt啟用別名」

.」,這樣就可以直接使用其內容,而不用再新增fmt,如

fmt.println

可以直接寫成

println

g. import _ 「

fmt」 表示不使用該包,而是只是使用該包的

init

函式,並不顯示的使用該包的其他內容。注意:這種形式的

import

,當import

時就執行了

fmt包中的

init

函式,而不能夠使用該包的其他函式。

作用:定義函式

定義:

func (p mytype ) funcname ( a, b int , c string ) ( r , s int )
注:關鍵字——func

方法名——funcname

引數——— a,b int,b string

返回值—— r,s int

函式體—— {}

演示:

//判斷a是否等於b

func (a double) isequal(b double) bool else if r < 0.0

return r < 0.0001

}

作用:用於在函式內部,退出函式執行過程

應用:

a.退出函式執行過程,不指定返回值

通常有兩種情況不需要指定返回值退出函式執行過程。第一是:函式沒有返回值;第二是:函式返回值有變數名,不需要顯示的指定返回值。

package main

import (

"fmt"

)func say(flag bool)

fmt.println("沒有返回值")

}func getstatus() (num int)

func main()

b.退出函式執行過程,並指定返回值當函式有返回值時,如果返回值沒有定義變數,那麼一定要使用return加上返回值退出函式。如下:

package main

import (

"fmt")

// getmsg函式需要返回乙個string型別值

func getmsg() string

func main()

延伸:a. 在返回值中定義變數,而return其它結果在函式定義時,雖然在返回值中定義了變數,但是在return出函式時,指定另外的變數作為返回結果,這樣也是可行的,但是意義卻不大。如下:

package main

import (

"fmt")

func getmsg() (msg string)

func main()

b. 在函式遞迴呼叫中使用return遞迴呼叫,就是函式在函式體內呼叫自身。函式在沒有結束之前,呼叫自身,表示巢狀層級增加一層。各個呼叫層中,函式執行完成,表示這一層執行完成。在函式遞迴呼叫中使用return,只會退出當前這一層的函式執行,並不會結束其他層的函式執行過程。使用

return

可以結束函式執行過程,阻止函式體內後邊的**執行。將對自身的呼叫寫在

return

後邊,可以停止函式的遞迴呼叫。如下:

package main

import (

"fmt")

func getmsg(index int)

fmt.println("遞迴呼叫層級是:", index)

getmsg(index + 1)}

func main()

注:由於作者是初入go語言時間不長,文章中有些技術點表述可能不是很詳細或者有問題,還望各位海涵,後期會逐漸增加,若有問題可聯絡作者,謝謝。

go語言基礎 關鍵字

定義 被程式語言保留而不讓程式設計人員作為識別符號使用的字串行,也可以稱為保留字 go語言中的關鍵字 go語言關鍵共計25個 chan func inte ce map和struct用來宣告和定義go語言的復合資料型別,分別與go語言的復合資料型別channel 通道 function 函式 int...

go關鍵字之select

select是go中的乙個控制結構,類似於switch語句,用於處理非同步io操作。select會監聽case語句中channel的讀寫操作,當case中channel讀寫操作為非阻塞狀態 即能讀寫 時,將會觸發相應的動作。select中的case語句必須是乙個channel操作 select中的d...

const , volatile 關鍵字分析

const修飾變數 在c語言中const修飾的變數是唯讀的,其本質還是變數,不是常量。const修飾的變數會在記憶體占用空間,不能作為左值進行賦值。本質上const只對編譯器有用,在執行時無用。因此const修飾的變數可以在程式執行時,通過指針對其進行改變。const修飾陣列 在c語言中const修...