2 回答

TA貢獻1820條經驗 獲得超10個贊
無需將類型和接口放在單獨的文件中。從每個程序包導出的內容都很重要,您可以通過以大寫字母開頭的名稱來表示它們。在C&co。頭文件中的內容很重要,因為這就是“導入”(包含)的東西。在Go中,它是導入的包,無論其內容如何組織到不同的源文件中都無所謂(無論如何導入程序都不會看到)。
我個人的建議是避免創建不必要的文件。如果代碼相對較短,則將其保存在一個文件中。如果很長,則考慮將感覺很自然的部分分開(例如,如果您使用Java或C ++進行操作,則接口+相關函數可能會形成一個單獨的類)。不要僅僅為了將定義從代碼中分離而分離任何東西。即使在C語言中,它在Go語言中也沒有意義。

TA貢獻1827條經驗 獲得超9個贊
Go編程語言不是C ++,也不是C。像新語言一樣使用它。Go沒有等效于頭文件。它與C ++類的概念僅有松散的聯系。由于您不是專業的C ++程序員,因此請忽略Go For C ++ Programmers文章。
首先閱讀Go語言編程指南。然后閱讀Effective Go。瀏覽《 Go編程語言規范》,因此您將知道在哪里查找內容。
首先,請查看Go的作者編寫的time
軟件包文檔和源代碼。他們沒有為接口聲明和實現使用單獨的文件,所以為什么要這么做?正如您自己說的那樣,您尚不知道自己在做什么,那么為什么不從專家的榜樣開始呢?
Go編程語言發展的某些動機來自對創建一種比C更好,比C ++簡單得多的語言的渴望??紤]到Go的過程特性(通常類似于C),過程設計概念(如耦合和內聚)很有用。這些概念在將Gotime
程序包劃分為多個源文件中很明顯。一些類設計概念也將很有用,但是請記住,Go不支持繼承。
正如Nicklaus Wirth在他的經典論文《逐步改進程序開發》中指出的那樣,程序的早期草稿很少是理想的,有時甚至是草率的。即使最終版本也很少是完美的。例如,圍棋作者僅在幾個月后就重寫了圍棋json
包。
Go編程語言的設計和實現使其可以使用許多小功能。它傾向于簡潔的解決方案。當然,許多功能并未在包裝外部公開。函數大小或數量的任意限制很少能以任何語言顯示。
Go程序是通過將程序包鏈接在一起來構造的。一個包又由一個或多個源文件構造而成,這些源文件一起聲明了屬于該包的常量,類型,變量和函數,并且可以在同一包的所有文件中進行訪問。這些元素可以導出并在另一個包中使用。 軟件包,Go編程語言規范。
您想要第一個Go軟件包做什么?提出可以回答的特定問題,并提供詳細信息。
- 2 回答
- 0 關注
- 279 瀏覽
添加回答
舉報