我是新手,用谷歌搜索了一些關(guān)鍵詞,但沒(méi)有成功。package tutorialimport(? ? "bytes"? ? "context"? ? "reflect"? ? "database/sql/driver"? ? "errors"? ? "fmt"? ? "github.com/apache/thrift/lib/go/thrift"? ? "shared")// (needed to ensure safety because of naive import list construction.)var _ = thrift.ZEROvar _ = fmt.Printfvar _ = context.Backgroundvar _ = reflect.DeepEqualvar _ = bytes.Equal
1 回答

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
您正在查看的代碼是由計(jì)算機(jī)程序生成的。
這個(gè)特定的計(jì)算機(jī)程序有缺陷/愚蠢:它導(dǎo)入在某些情況下不需要導(dǎo)入的包,以防萬(wàn)一它生成需要導(dǎo)入這些包的不同代碼。換句話說(shuō),在查看它將生成什么代碼之前,它只是導(dǎo)入了一堆東西。
為了彌補(bǔ)這個(gè)缺陷,在導(dǎo)入它可能不會(huì)使用的東西之后,它有一些var
聲明使Go編譯器認(rèn)為這些東西被使用,這樣編譯器就不會(huì)抱怨(例如)fmt
或bytes
不需要導(dǎo)入。
更智能的代碼生成器將檢查它將要生成的代碼,找出實(shí)際需要哪些導(dǎo)入,然后發(fā)出這些導(dǎo)入并跳過(guò)虛擬行var
。
(這就是評(píng)論短語(yǔ):
naive import list construction
意味著:代碼生成器天真地生成了一組特定的導(dǎo)入,而不查看它生成的其余代碼。)
- 1 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報(bào)
0/150
提交
取消