2022-07-12:以下go语言代码输出什么?A:1 1;B:1.0 1.0;C:编译不通过;D:1.0 1。 package main import “fmt“ func main() {

2022-07-12:以下go语言代码输出什么?A:1 1;B:1.0 1.0;C:编译不通过;D:1.0 1。

package main

import "fmt"

func main() {
    fmt.Println(1 % 2.0)
    fmt.Println(int(1) % 2.0)
}

答案2022-07-12:

答案选C。% 运算只能用于 整数类型。1 % 2.0,两个操作数都是字面量常量,都是无类型的,这时会以 2.0 的 untype float constant 为准,1 隐式转为 untype float constant,所以编译错误。
而 int(1) % 2.0 中,2.0 是无类型的,int(1) 是 int,因此 2.0 会转为 int,因此能正常编译。

在这里插入图片描述

posted @ 2022-07-12 21:16  福大大架构师每日一题  阅读(10)  评论(0编辑  收藏  举报  来源