> underscore_
在go中導入go>
_
complos go> e.g complos go in go complos fore> e.g.指定的軟件包(在此示例中),但忽略了其包含的任何導出名稱。 這意味著您無法直接訪問當前文件中該軟件包中定義的功能,常數,變量或類型。 但是,將仍將執行軟件包的_
函數(如果存在)。 這很重要,因為某些軟件包執行至關重要的初始化任務或在系統的其他部分進行註冊。 例如,某些軟件包可能會以全局註冊表註冊或設置必要的運行時配置。 使用import _ "path/filepath"
>允許您在不產生未使用的進口警告的情況下利用這些初始化的副作用。 path/filepath
>init()
>如何避免使用下劃線的未使用的導入警告? 如果您有一個包裝需要導入其副作用(例如初始化),但實際上您實際上沒有使用其當前文件中的任何導出實體,只需在您的導入語句中的軟件包名稱以底範的範圍前綴。 _
>
>_
<code class="go">import ( "fmt" _ "net/http/pprof" // Import for pprof side effects, not directly used in this file ) func main() { fmt.Println("Hello, world!") }</code>
net/http/pprof
_
選擇性地導入GO軟件包的一部分? > not _
not>允許選擇性地導入軟件包的一部分。它要么導入整個軟件包(包括其函數),要么根本不會導入它。 沒有機制僅導入包裝的特定部分,同時使用下劃線忽略其他部分。如果您只需要包裝的特定部分,則應僅導入這些特定零件,並避免使用下劃線。 使用下劃線專門用於您需要包裝的初始化但不直接使用其當前文件中的導出標識符的情況。 選擇性導入通常僅通過僅導入必要的元素來處理,這可能是通過重命名init()
>關鍵字的重命名。
以上是Go語言中import語句下劃線_的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!