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

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

在此示例中,為什么我們返回一個指針而不是一個值?

在此示例中,為什么我們返回一個指針而不是一個值?

Go
胡子哥哥 2021-04-19 15:12:30
package mainimport "fmt"type argError struct {    arg  int    prob string}func (e *argError) Error() string {    return fmt.Sprintf("%d - %s", e.arg, e.prob)}func f2(arg int) (int, error) {    return -1, &argError{arg, "can't work with it"}}func main() {    _, e := f2(42)    if ae, ok := e.(*argError); ok {        fmt.Println(ae.arg)        fmt.Println(ae.prob)    }}在f2中,我們將指針&argError ...作為返回值,但聲明為return error的方法。為什么未將f2簽名定義為func f2(arg int)(int,* error)代替嗎?還是在這種情況下為什么不返回指針呢?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 231 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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