package main
import (
"fmt"
)
func main() {
var a uint
var b uint
var d uint32
b = 100
a = 101
c := b-a
fmt.Printf("值:%v\n%v\n%v",b,a+3,c)
}
结果
值:100
104
18446744073709551615
Process finished with the exit code 0
原因::= 会进行类型的自动推导c为uint32位,所以系统会把负数的1的正负位当做最高进制来算,造成数值很大
正确写法
c:=int(a) - int(b)