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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Println 如何訪問未導(dǎo)出的字段

Println 如何訪問未導(dǎo)出的字段

Go
暮色呼如 2023-08-07 11:15:43
package testimport (    "fmt")type DP struct {    array []int    cols  int}func (v *DP) Init(rs, cs int) {    v.array = make([]int, rs*cs, rs*cs)    v.cols = cs}func (v *DP) Get(r, c int) int {    return v.array[r*v.cols+c]}package mainimport (    "fmt"    "test")func main() {    var k, x, n int    var dp test.DP    fmt.Scanf("%d %d %d", &n, &k, &x)    dp.Init(n, k)    fmt.Println(dp) // print the contents of dp.array    fmt.Printf("%d %d %d", n, k, x)}Println 如何訪問所有未導(dǎo)出的字段。為什么它沒有給出像 dp.array undefined 這樣的錯(cuò)誤(無法引用未導(dǎo)出的字段或方法數(shù)組)
查看完整描述

1 回答

?
桃花長相依

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊

因?yàn)閒mt.Print家庭使用reflect,并reflect授予訪問未導(dǎo)出字段的權(quán)力,因此reflect.Value.Field. 請(qǐng)注意,未導(dǎo)出的字段只能以這種方式讀取,而不能寫入。


一些代碼:


package main


import (

    "fmt"

    "reflect"

)


type A struct {

    A int

    b int

}


func main() {

    fmt.Println("Hello, playground")

    a := A{1, 2}

    va := reflect.ValueOf(&a).Elem()

    exported := va.Field(0)

    unexported, unexportedName := va.Field(1), va.Type().Field(1)

    fmt.Println(unexportedName, unexported)

    // exported settable but unexported not settable

    fmt.Println(exported.CanSet(), unexported.CanSet())

    exported.Set(reflect.ValueOf(int(3)))

    fmt.Println(a)

    // this will panic

    unexported.Set(reflect.ValueOf(int(5)))

    fmt.Println(a)

}

游樂場(chǎng):https://play.golang.org/p/6mhFR7efPEc


查看完整回答
反對(duì) 回復(fù) 2023-08-07
  • 1 回答
  • 0 關(guān)注
  • 138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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