个人:我目前主要是做前端开发,接触的第一门语言是 js,由于业务的需求,现在想补充一下 go 的后端知识。(刚学习 go 两天) 问题:了解到在 go 中,不能直接将 int 类型和 float 类型做比较,虽然明白静态语言相较于 js 来说对类型限制比较严格,但是类比到现实生活中还是无法理解这样设计的原因是什么? package main import "fmt" func main(){ age1:=1 age2:=3.3 fmt.Println(age1 age (mismatched types float64 and int) } 现实生活中我们不是早已习惯 1.2>1 或者 0.5<100 这样的小数和整数比较吗?为什么 go 要这样设计呢? 或者说如果允许 float 和 int 直接比较,会造成什么很难处理的场面吗?