站長資訊網
        最全最豐富的資訊網站

        golang包的特性是什么

        特性:1、包名一般是小寫,用一個簡短且有意義的名稱;2、包名一般要和所在的目錄同名,也可不同名,包名中不能包含“-”等特殊符號;3、包一般使用域名作為目錄名稱,這樣能保證包名的唯一性;4、包名為main的包為應用程序的入口包,編譯源碼時如果沒有main包時,將無法編譯輸出可執行的文件;5、一個目錄下的所有源碼文件只能屬于同一個包,同樣屬于同一個包的源碼文件不能放在多個目錄下。

        golang包的特性是什么

        本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

        Go語言是使用包來組織源代碼的,包(package)是多個 Go 源碼的集合,是一種高級的代碼復用方案。Go語言中為我們提供了很多內置包,如 fmt、os、io 等。

        任何源代碼文件必須屬于某個包,同時源碼文件的第一行有效代碼必須是package pacakgeName 語句,通過該語句聲明自己所在的包。

        包的基本概念

        Go語言的包借助了目錄樹的組織形式,一般包的名稱就是其源文件所在目錄的名稱,雖然Go語言沒有強制要求包名必須和其所在的目錄名同名,但還是建議包名和所在目錄同名,這樣結構更清晰。

        包可以定義在很深的目錄中,包名的定義是不包括目錄路徑的,但是包在引用時一般使用全路徑引用。比如在GOPATH/src/a/b/ 下定義一個包 c。在包 c 的源碼中只需聲明為package c,而不是聲明為package a/b/c,但是在導入 c 包時,需要帶上路徑,例如import "a/b/c"

        Go語言包特性

        • 包名一般是小寫的,使用一個簡短且有意義的名稱;

        • 包名一般要和所在的目錄同名,也可以與其目錄不同名(但最好不要這樣做),包名中不能包含- 等特殊符號。

        • 包一般使用域名作為目錄名稱,這樣能保證包名的唯一性,比如 GitHub 項目的包一般會放到GOPATH/src/github.com/userName/projectName 目錄下。

        • 包名為 main 的包為應用程序的入口包,編譯不包含 main 包的源碼文件時不會得到可執行文件。

        • 一個文件夾下的所有源碼文件只能屬于同一個包,同樣屬于同一個包的源碼文件不能放在多個文件夾下。

        Go語言包設計思想

        任何包系統設計的目的都是為了簡化大型程序的設計和維護工作,通過將一組相關的特性放進一個獨立的單元以便于理解和更新,在每個單元更新的同時保持和程序中其它單元的相對獨立性。這種模塊化的特性允許每個包可以被其它的不同項目共享和重用,在項目范圍內、甚至全球范圍統一的分發和復用。

        每個包一般都定義了一個不同的名字空間用于它內部的每個標識符的訪問。每個名字空間關聯到一個特定的包,讓我們給 類型、函數 等選擇簡短明了的名字,這樣可以避免在我們使用它們的時候減少和其它部分名字的沖突。

        當我們修改了一個源文件,我們必須重新編譯該源文件對應的包和所有依賴該包的其他包。即使是從頭構建,Go 語言編譯器的編譯速度也明顯快于其它編譯語言。Go 語言的閃電般的編譯速度主要得益于三個語言特性。

        顯式聲明

        所有導入的包必須在每個文件的開頭顯式聲明,這樣的話編譯器就沒有必要讀取和分析整個源文件來判斷包的依賴關系。

        禁止循環依賴

        禁止包的環狀依賴,因為沒有循環依賴,包的依賴關系形成一個有向無環圖,每個包可以被獨立編譯,而且很可能是被并發編譯。

        目標文件

        編譯后包的目標文件不僅僅記錄包本身的導出信息,目標文件同時還記錄了包的依賴關系。因此,在編譯一個包的時候,編譯器只需要讀取每個直接導入包的目標文件,而不需要遍歷所有依賴的的文件。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产成人精品免高潮在线观看| 久久久精品国产sm调教网站| 久久精品不卡| 97久久精品无码一区二区| 亚洲国产精品久久久天堂| 欧美成人精品第一区二区| 56prom精品视频在放免费| 国产精品水嫩水嫩| 国产精品成人观看视频国产| 久久精品国产亚洲av麻豆色欲| 国产精品无码v在线观看| 国产精品国产三级专区第1集| 亚洲AV蜜桃永久无码精品| 久久精品视频91| 亚洲欧洲久久久精品| 亚洲中文字幕无码久久精品1| 亚洲精品乱码久久久久久蜜桃图片| 国产福利电影一区二区三区,亚洲国模精品一区 | 911亚洲精品国内自产| avtt天堂网久久精品| 亚洲AV永久精品爱情岛论坛| 国产精品成人99久久久久| 精品国产一区二区三区AV性色| 热久久国产精品| 亚洲国产精品嫩草影院| 久久久久久久久久久免费精品| 大桥未久在线精品视频在线| 国产精品亚洲精品| 亚洲愉拍99热成人精品热久久| 麻豆精品视频在线观看91| 国产精品亚洲综合专区片高清久久久 | 99国内精品久久久久久久| 凹凸国产熟女精品视频app | 国产精品毛片一区二区| Xx性欧美肥妇精品久久久久久| 69久久夜色精品国产69 | 国产精品视频第一区二区三区| 精品国精品无码自拍自在线| 国产精品对白刺激久久久| 亚洲AV无码久久精品狠狠爱浪潮| 亚洲国产精品无码久久九九|