GO語言學習四 識別符號與作用域

2021-09-04 10:07:20 字數 1414 閱讀 5565

go語言中,塊是指在一對相匹配的花括號內的一系列(可能為空的)語句。

在源**中除了顯式的塊,還有隱式的塊:

塊可以巢狀並影響作用域。關於作用域,我們留在後面講解。

識別符號指的是程式元素的名字。我們在前面接觸過的包名、變數名、常量名、函式名、型別名等都屬於識別符號。

在go語言中,識別符號必須以unicode字元或下劃線開頭,後面可以跟隨任何數量的unicode字元、下劃線和unicode數字。以下的識別符號都是合法的:

a

_x9thisis紅色

αβ

以下是不合法的例子

。a	// 不能以標點符號開頭

9 // 不能以unicode數字開頭

go語言預定義了以下識別符號,為了防止混淆,應該盡量避免重新宣告這些識別符號:

型別

bool byte complex64 complex128 error float32 float64

int int8 int16 int32 int64 rune string

uint uint8 uint16 uint32 uint64 uintptr

變數

true false iota
零值

nil
函式:

make new panic print println real recover

go語言定義了25個關鍵字,它們不能用做識別符號

break        default      func         inte***ce    select

case defer go map struct

chan else goto package switch

const fallthrough if range type

continue for import return var

在塊a內宣告的識別符號可以在a的內層塊b中被重新宣告,被重新宣告的識別符號作用域遵循上述原則。

需要注意的是,包約定語句中的預設包名不是識別符號宣告,它的作用是將檔案標識為同屬乙個包,並且在匯入宣告的時候提供乙個預設的包名。

請思考,在下面例子中,程式結束時c的值是什麼?

package main

import

( format "fmt"

// 給fmt包設定別名為format

)func

main()

}

GO語言學習日記(三)識別符號

本人最近開始偷懶了都沒勤奮寫部落格,今天覺得自己不能怎頹廢下去,所以要開始學習新知識雖然自己的c 和c 都學得不咋樣,對於喜歡新玩意的我,瞄上了golang新的語言,雖然我覺得應該沒人會願意看學渣的部落格,但是我還是盡量每天更新go的部落格來報告自己的學習進度吧。go原始檔中的變數名 常量名 型別名...

識別符號的作用域

塊作用域 區域性作用域 檔案作用域 全域性作用域 函式原型作用域 函式作用域 類作用域 塊作用域 塊是函式中一對花括號 包括函式定義所使用的花括號 所括起的一段區域。在塊內說明的識別符號具有塊作用域,它開始於識別符號被說明的地方,並在標誌該塊結束的右花括號處結束。如果乙個塊內有乙個巢狀塊,並且該塊內...

go語言學習筆記02章 常量 識別符號

2.3 常量 對變數 常量 函式 自定義型別進行命名,通常優先選用有實際含義,易於閱讀和理解的字母或單詞組合。命名建議 package main func main println c 符號名字首字母大寫決定了其作用域。首字母大寫的為匯出成員,可被包外引用,而小寫則僅能在包內使用。空識別符號 通常作...