亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Go 中的同時變量賦值不同于單個變量賦值

Go 中的同時變量賦值不同于單個變量賦值

Go
墨色風雨 2021-12-20 16:47:56
我的印象是,盡管語法不同,但下面的函數 a 和函數 b 在邏輯上是等效的。但是,它們不是,我不明白它們之間的區別。在我看來,他們都在分配:x 對變量 z 的值,變量 x 的 y 值,以及變量 y 的 x+y 值。任何人都可以幫助澄清我對多變量賦值以及函數 a 和函數 b 之間的邏輯差異的誤解嗎?
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

package main


import "fmt"


func a() (int, int, int) {

    x:=1

    y:=2

    z:=3


    z = x

    x = y

    y = x+y


    return x, y, z

}


func b() (int, int, int) {

    x:=1

    y:=2

    z:=3


    z, x, y = x, y, x+y


    return x, y, z

}


func main() {

    fmt.Println(a()) // prints 2 4 1

    fmt.Println(b()) // prints 2 3 1

}


查看完整回答
反對 回復 2021-12-20
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號