我一直在玩Go,并且想知道在Go中执行惯用的类型转换的最佳方法是什么。基本上我的问题之间的自动类型转换中规定uint8,uint64和float64。根据我在其他语言中的经验,auint8与a的乘积uint64会产生一个uint64值,但并非总是如此。
这是我构建的示例,请问这是编写此代码的惯用方式还是缺少重要的语言构造。
package main
import ("math";"fmt")
const(Width=64)
func main() {
var index uint32
var bits uint8
index = 100
bits = 3
var c uint64
// This is the line of interest vvvv
c = uint64(math.Ceil(float64(index * uint32(bits))/float64(Width)))
fmt.Println("Test: %v\n", c)
}
在我看来,由于所有显式类型转换,计算上限值似乎不必要。
大话西游666
小怪兽爱吃肉
相关分类