程序?qū)嶓w與代碼塊

程序?qū)嶓w

Go語言中的程序?qū)嶓w包括變量停局、常量伴箩、函數(shù)、結(jié)構(gòu)體和接口。

代碼塊

在Go語言中推汽,代碼塊一般就是一個由花括號括起來的區(qū)域喧伞,里面開業(yè)包含表達式和語句法挨。

Go語言本身以及我們編寫的代碼共同形成了一個非常大的代碼塊纳账,即全域代碼塊。

相對小一些的代碼塊是代碼包刹泄,一個代碼包可以包含許多子代碼包外里。

每個源碼文件也是一個代碼塊,每個函數(shù)也是一個代碼塊特石,每個if語句盅蝗、for語句、switch語句姆蘸、select語句都是一個代碼塊墩莫,甚至switch語句中的case語句也是一個代碼塊。

只有兩個花括號乞旦,里面沒有內(nèi)容也是一個代碼塊贼穆,即空代碼塊。

Go語言的代碼塊是一層套一層的兰粉,一個代碼塊可以有若干個子代碼塊故痊,但對于每個代碼塊,最多只會有一個直接包含它的代碼塊玖姑,后者簡稱為前者的外層代碼塊愕秫。

作用域

代碼塊的劃分間接的決定了其中的程序?qū)嶓w的作用域慨菱。

一個變量(常量、類型或函數(shù))在程序中都有一定的作用范圍戴甩,稱之為作用域符喝。

Go的作用域是通過代碼塊來標記的

一個程序?qū)嶓w的作用域總是會被限定在某個代碼塊中,而這個作用域最大的作用甜孤,就是對程序?qū)嶓w的訪問權(quán)限的控制协饲。

全局變量

如果一個變量在代碼塊外聲明,則被認為是全局變量缴川,可以在整個包甚至外部包(被導(dǎo)出后)使用茉稠,不管你聲明在哪個源文件里或在哪個源文件里調(diào)用該變量。

局部變量

在代碼塊內(nèi)聲明的變量稱之為局部變量把夸,它們的作用域只在代碼塊內(nèi)而线,函數(shù)的參數(shù)和返回值變量也是局部變量。

不同的作用域允許使用相同的變量名恋日。同名的局部作用域的變量代碼執(zhí)行完后會釋放變量名膀篮。

程序?qū)嶓w的訪問權(quán)限規(guī)則

包級私有的、模塊級私有的岂膳、公開的誓竿。

在語言層面依據(jù)代碼塊對程序?qū)嶓w的作用域進行的定義。

前兩種訪問權(quán)限對應(yīng)的都是代碼包代碼塊闷营,最后一種訪問權(quán)限對應(yīng)的是全域代碼塊烤黍。

規(guī)則1

名稱首字母為大寫的程序?qū)嶓w才可以被其他代碼包所使用。否則它就只能被當前包內(nèi)其他代碼使用傻盟。

首字母大寫的程序?qū)嶓w相當于其他語言中聲明為public修飾符的實體

其他情況相當于聲明為private修飾符的實體

規(guī)則2

internal代碼包中聲明的公開程序?qū)嶓w只能被該代碼包的直接父包及其父包的子包中的代碼引用。引用前需要先導(dǎo)入此internal包嫂丙。

對于其他代碼包娘赴,導(dǎo)入該internal包都是非法的,無法通過編譯跟啤。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诽表,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子隅肥,更是在濱河造成了極大的恐慌竿奏,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腥放,死亡現(xiàn)場離奇詭異泛啸,居然都是意外死亡,警方通過查閱死者的電腦和手機秃症,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門候址,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吕粹,“玉大人,你說我怎么就攤上這事岗仑∑ジ” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵荠雕,是天一觀的道長稳其。 經(jīng)常有香客問我,道長炸卑,這世上最難降的妖魔是什么欢际? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮矾兜,結(jié)果婚禮上损趋,老公的妹妹穿的比我還像新娘。我一直安慰自己椅寺,他們只是感情好浑槽,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著返帕,像睡著了一般桐玻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荆萤,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天镊靴,我揣著相機與錄音,去河邊找鬼链韭。 笑死偏竟,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的敞峭。 我是一名探鬼主播踊谋,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼旋讹!你這毒婦竟也來了殖蚕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤沉迹,失蹤者是張志新(化名)和其女友劉穎睦疫,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞭呕,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡蛤育,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缨伊。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡摘刑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刻坊,到底是詐尸還是另有隱情枷恕,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布谭胚,位于F島的核電站徐块,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灾而。R本人自食惡果不足惜胡控,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望旁趟。 院中可真熱鬧昼激,春花似錦、人聲如沸锡搜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耕餐。三九已至凡傅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肠缔,已是汗流浹背夏跷。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留明未,地道東北人槽华。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像亚隅,于是被迫代替她去往敵國和親硼莽。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容