亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go:來自庫的函數調用

Go:來自庫的函數調用

Go
料青山看我應如是 2021-11-29 16:49:35
現在我真的很困惑。這是我的問題(Go 對我來說是新的):第一文件:// main.gopackage mainimport "./libraries/test"func main() {    test.foo()}第二個文件:// test.gopackage testimport "fmt"func foo() {    fmt.Println("foo")}我的結構是這樣的:main.go   /libraries        /test           test.go如果我編譯此代碼,我將收到以下錯誤消息:./main.go:7: 不能引用未導出的名稱 test.foo./main.go:7: 未定義: test.foo如果我更改foo到Foo任何地方,錯誤就會消失并且程序按預期工作。
查看完整描述

2 回答

?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

在 Go 中,符號的名稱是用大寫還是小寫的駝峰寫是一個重要的區別。這適用于函數,也適用于類型(如結構或接口)以及結構成員。

您可以在Go 文檔中閱讀此內容(重點是我的):

名稱在 Go 中與在任何其他語言中一樣重要。它們甚至具有語義效果:包外名稱的可見性取決于其第一個字符是否為大寫。

這意味著您不能隨意命名函數和類型。如果您需要從另一個模塊調用此函數,則必須將其命名為Foo,而不是foo。


查看完整回答
反對 回復 2021-11-29
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

我想您還沒有仔細閱讀 Go 文檔。所有以大寫字母開頭的名稱都從它們的包中導出。不導出所有小寫名稱。


查看完整回答
反對 回復 2021-11-29
  • 2 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號