在圍棋編程語(yǔ)言規(guī)范說:常量可以是有類型的或無(wú)類型的我對(duì)自己的理解有點(diǎn)懷疑??紤]規(guī)范中的這個(gè)例子:const l = "hi" // l == "hi" (untyped string constant)const m = string(k) // m == "x" (type string)規(guī)范說:常量可以通過常量聲明或轉(zhuǎn)換顯式指定類型,或者在變量聲明或賦值中隱式使用時(shí)或作為表達(dá)式中的操作數(shù)時(shí)通過這個(gè)語(yǔ)句,為什么不l輸入,因?yàn)樗@然是一個(gè)常量聲明?這種行為在另一個(gè)例子中更清楚type Foo stringfunc f(a Foo) {}func main() { f("sarkozy") const t = "julie gayet" f(t) s := "hollande" //compile error // f(s) f(Foo(s)) // ok}f("sarkozy")編譯的原因是由于規(guī)范中關(guān)于可分配性的聲明嗎?x 是一個(gè)無(wú)類型常量,可以用 T 類型的值表示。我的論點(diǎn)如下:“sarkozy”是一個(gè)無(wú)類型的文字。因此“sarkozy”可以通過Foo方式表示我可以像這樣輸入強(qiáng)制 Foo("sarkozy") f(s)失敗,因?yàn)?s 不是untyped。
無(wú)類型常量是什么意思?
慕標(biāo)琳琳
2021-07-28 04:40:29