第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

理解 Go 中的 switch 語句和指針

理解 Go 中的 switch 語句和指針

Go
搖曳的薔薇 2022-07-04 16:29:13
我不明白為什么這個帶有指針并使用 switch 語句的 Go 代碼會打印出“a”:import "fmt"func main() {    var a, b int    var c = &b    switch *c {    case a:        fmt.Println("a")    case b:        fmt.Println("b")    default:        fmt.Println("c")    }} 對此有任何提示嗎?
查看完整描述

1 回答

?
UYOU

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個贊

a并且b都是零(整數(shù)的零值)。


初始化c = &b意味著指向. c_*intb


繼續(xù) switch 語句,我們正在檢查*cwhich 取消引用c的值 和 是 的值b,即0。


由于a也是零,第一種情況匹配。


您可以交換case aandcase b語句并b放在第一位。在這種情況下,它將打印,b因?yàn)樗F(xiàn)在是第一個匹配的案例:


package main


import "fmt"


func main() {

    var a, b int

    var c = &b


    switch *c {

    case b:

        fmt.Println("b")

    case a:

        fmt.Println("a")

    default:

        fmt.Println("c")

    }

}


查看完整回答
反對 回復(fù) 2022-07-04
  • 1 回答
  • 0 關(guān)注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號