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

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

Golang - 雙下劃線形式的包名

Golang - 雙下劃線形式的包名

Go
桃花長相依 2023-03-21 10:28:54
在我的 protobuf 生成的代碼中,包是:package __什么意思double underscore,是不是和文件夾名一樣?有沒有這方面的文件,我搜索了但沒有找到。并且代碼可以無錯編譯。
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

是的,這意味著相同的目錄。讓我們看看下面的代碼。


目錄結構

.

├── go.mod

├── greet

│   └── greet.go

└── main.go

內容在greet.go

package __


import "fmt"


func Hello(name string) {

    fmt.Printf("Hello %s\n", name)

}

內容在main.go

package main


import greet "playground/greet"


func main() {

    greet.Hello("Eric")

}

當前目錄

$ pwd

/Users/thedatageek/Codes/go-playground

不幸的是,我也找不到任何文檔。


不過好像是個好東西。您真的不需要為包命名。您只需命名目錄,包名稱將自動相同。


注意:這絕對不是grpcorprotobuf東西。然而,如果您已經從原型文件生成了原型存根,并且如果您添加了一些額外的實用程序文件,您可以將它們放入一個目錄中,然后通過目錄名直接導入它,這是一種習慣。例如下面的 github repos


https://github.com/Ash110/gRPC-Logger https://github.com/dist1ll/cache-prototype https://github.com/kamensotirov99/int-gateway https://github.com/rachaelyychen/go-gee https://github.com/suvvm/ToadOCREngine https://github.com/denyami/drawing-api


查看完整回答
反對 回復 2023-03-21
?
SMILET

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

我發現了什么package __ (雙下劃線)

  • 導入此類包時,必須指定別名,不能省略,否則找不到包。

  • 導入時,編輯器(如goland)無法自動搜索,必須手動導入。

所以,我猜__是指no nameor no default name。


查看完整回答
反對 回復 2023-03-21
  • 2 回答
  • 0 關注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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