为了账号安全,请及时绑定邮箱和手机立即绑定

有关在 Go 中混合使用数值类型的操作的问题

有关在 Go 中混合使用数值类型的操作的问题

Go
偶然的你 2022-09-26 20:15:11
我知道Go是一种静态类型的语言,它不允许混合数字类型的操作,例如,你不能将添加到:intfloat64package mainimport (    "fmt")func main() {        var a int = 1        var b float64 = 1.1        fmt.Println(a + b)}运行此程序将导致错误:无效操作:a + b(不匹配的类型 int 和 float64)但是当我在不声明变量的情况下进行数学运算时,程序会返回所需的结果,即:1 + 1.12.1package mainimport (    "fmt")func main() {        fmt.Println(1 + 1.1)}所以我的问题是:为什么有效?数字类型是什么,当我直接在加法中使用它们时?1 + 1.111.1
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

这是因为 被计算为非类型化常量表达式。1 + 1.1


所以下面的程序也有效,因为现在和都是非类型化的常量。ab


package main


import (

    "fmt"

)


func main() {

        const a = 1

        const b = 1.1

        fmt.Println(a + b)

}


查看完整回答
反对 回复 2022-09-26
  • 1 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信