2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
對(duì)于非常量值,沒有隱式類型轉(zhuǎn)換。
你可以寫
var x float64
x = 1
但是你不能寫
var x float64
var y int
y = 1
x = y
請(qǐng)參閱規(guī)格以供參考。
有一個(gè)很好的理由,不允許自動(dòng)/隱式類型轉(zhuǎn)換,因?yàn)樗鼈兛赡茏兊梅浅;靵y,并且必須學(xué)習(xí)許多規(guī)則來規(guī)避可能發(fā)生的各種警告。以C中的整數(shù)轉(zhuǎn)換規(guī)則為例。

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超1個(gè)贊
例如,
package main
import "fmt"
func CeilUint(a, b uint64) uint64 {
return (a + (b - 1)) / b
}
func main() {
const Width = 64
var index uint32 = 100
var bits uint8 = 3
var c uint64 = CeilUint(uint64(index)*uint64(bits), Width)
fmt.Println("Test:", c)
}
輸出:
Test: 5
- 2 回答
- 0 關(guān)注
- 215 瀏覽
添加回答
舉報(bào)