2022-07-12:以下go語言程式碼輸出什麼?A:1 1;B:1.0 1.0;C:編譯不透過;D:1.0 1。

moonfdd發表於2022-07-12

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,因此能正常編譯。

在這裡插入圖片描述

本作品採用《CC 協議》,轉載必須註明作者和本文連結
微信公眾號:福大大架構師每日一題。最新面試題,涉及golang,rust,mysql,redis,雲原生,演算法,分散式,網路,作業系統。

相關文章