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

為了賬號安全,請及時綁定郵箱和手機立即綁定

Move方法體里這么寫的同學,麻煩解釋一下,謝謝。

person.Address,address = address,person.Address

Move方法體里這么寫的同學,麻煩解釋一下,謝謝。

正在回答

3 回答

這個算是一個go的語法糖吧,可以一起賦值。

如 a,b = 1,2? ? 從左到右? a = 1, b = 2

當右邊為變量時,執行賦值動作是它此刻的值。

接上面例子? ? ?a,b = b,a。? 執行此語句時,a = 1,b =2? 所以相當于 a,b = 2,1

這個語法糖在變量互換的時候異常好用

之前:

????a=1,b=2;

????temp = a;

? ? a = b;

????b = temp;

現:

????a,b = b,a

2 回復 有任何疑惑可以回復我~

Person結構體里面有舊地址的內容 北京? 所以oldAddress聲明并賦值person.Address

newAddress為新地址內容 san Francisco 賦值給person.Address 因為是指針所以會修改Person本身

0 回復 有任何疑惑可以回復我~
package?main

import?"fmt"

type?Person?struct?{
????Name????string
????Gender??string
????Age?????uint8
????Address?string??//?結構體里加個屬性
}

//?這里加個Move方法
func?(person?*Person)?Move(newAddress?string)?string{
????oldAddress:=?person.Address
????person.Address?=?newAddress
????return?oldAddress
}

func?main()?{
????p?:=?Person{"Robert",?"Male",?33,?"Beijing"}
????oldAddress?:=?p.Move("San?Francisco")
????fmt.Printf("%s?moved?from?%s?to?%s.\n",?p.Name,?oldAddress,?p.Address)
}


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Move方法體里這么寫的同學,麻煩解釋一下,謝謝。

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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