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

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

從函數(shù)返回語句轉到數(shù)組切片

從函數(shù)返回語句轉到數(shù)組切片

Go
LEATH 2021-05-07 13:12:53
我具有以下功能:func (c *Class)A()[4]bytefunc B(x []byte)我想打電話B(c.A()[:])但是我得到這個錯誤:cannot take the address of c.(*Class).A()如何正確獲取Go中函數(shù)返回的數(shù)組切片?
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

的價值c.A(),從方法的返回值,不能尋址。


地址運算符


對于類型T的操作數(shù)x,地址操作&x生成指向*的* T類型的指針。操作數(shù)必須是可尋址的,即變量,指針間接尋址或切片索引操作;或可尋址結構操作數(shù)的字段選擇器;或可尋址數(shù)組的數(shù)組索引操作。除可尋址性要求外,x還可為復合文字。


切片


如果切片的操作數(shù)是字符串或切片,則切片操作的結果是相同類型的字符串或切片。如果切片的操作數(shù)是數(shù)組,則它必須是可尋址的,并且切片操作的結果是與數(shù)組具有相同元素類型的切片。


使的值c.A()成為數(shù)組,可用于切片操作[:]。例如,將值分配給變量;變量是可尋址的。


例如,


package main


import "fmt"


type Class struct{}


func (c *Class) A() [4]byte { return [4]byte{0, 1, 2, 3} }


func B(x []byte) { fmt.Println("x", x) }


func main() {

    var c Class

    // B(c.A()[:]) // cannot take the address of c.A()

    xa := c.A()

    B(xa[:])

}

輸出:


x [0 1 2 3]


查看完整回答
反對 回復 2021-05-10
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

您是否嘗試過將數(shù)組首先粘貼到局部變量中?


ary := c.A()

B(ary[:])


查看完整回答
反對 回復 2021-05-10
  • 2 回答
  • 0 關注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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