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

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

GoLang:在函數(shù)中分配切片導(dǎo)致索引超出范圍

GoLang:在函數(shù)中分配切片導(dǎo)致索引超出范圍

Go
慕工程0101907 2021-06-26 11:17:40
我一直在用 Go 嘗試一些東西,但遇到了一個(gè)我無法弄清楚的問題。package mainimport "fmt"import "strconv"func writeHello(i int, ) {        fmt.Printf("hello, world "+strconv.Itoa(i)+"\n")}type SliceStruct struct {    data [][]int;}func (s SliceStruct) New() {    s.data=make([][]int,10);}func (s SliceStruct) AllocateSlice(i int) {    s.data[i]=make([]int,10);}func (s SliceStruct) setData(i int, j int, data int) {    s.data[i][j] = data;}func (s SliceStruct) getData(i int, j int) int {    return s.data[i][j]}func useSliceStruct(){    sliceStruct := SliceStruct{};    sliceStruct.New();    for i := 0; i < 10; i++ {        sliceStruct.AllocateSlice(i);        for j:=0; j<10; j++ {             sliceStruct.setData(i,j,i);            writeHello(sliceStruct.getData(i,j));        }    }}func dontUseSliceStruct(){    data:=make([][]int,10);    for i := 0; i < 10; i++ {        data[i]=make([]int,10);        for j:=0; j<10; j++ {            data[i][j] = i;            writeHello(data[i][j]);        }    }}func main() {    dontUseSliceStruct();    useSliceStruct();}當(dāng)它到達(dá)函數(shù) useSliceStruct 時(shí),代碼在第一次調(diào)用 AllocateSlice() 時(shí)失敗,并出現(xiàn)索引超出范圍錯(cuò)誤。據(jù)我所知,這兩種方法的代碼做了相同的事情。那么我錯(cuò)過了什么?
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

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

DOH,剛剛解決了。

我沒有在函數(shù)聲明中使用對(duì)結(jié)構(gòu)的引用。

func (s SliceStruct)

本來應(yīng)該

func (s *SliceStruct)


查看完整回答
反對(duì) 回復(fù) 2021-06-28
  • 1 回答
  • 0 關(guān)注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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