我在導入數據包時看到了一個奇怪的語法:import _ fmt
。在輸入中使用_的作用是什麼
我知道import f fmt
就像這個包的別名一樣工作,而且我知道_
被用作一個不應該被關心的變量。
所以沒有獎勵猜測,在這裏我正在導入一個我不打算使用的包。事實上,這看起來就是這裏發生的事情。
我不明白的是爲什麼這可能會有幫助。如果我使用for _, v := range(arr){}
我使用_
,因爲我沒有選擇,我需要指定編譯器它不應該擔心我不會使用的變量。
但是,如果我不打算使用一個包,我只是省略它(如果它稍後可能會有用,我會對它進行評論)。但沒有理由將其編譯並添加到源代碼中。
那麼有沒有使用這種語法的任何一點,或者這只是一個無用的工件結合別名和未使用的變量?
你能解釋一下我可以得到哪些副作用(除了提高執行文件的大小) –
通常情況下,副作用是某些其他庫註冊的副作用。例如,大多數SQL數據庫驅動程序導入副作用,然後你可以使用sql.Open(「dbname」,「url」) –