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

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

[][]*數據類型在golang中是什么意思

[][]*數據類型在golang中是什么意思

Go
森林海 2023-04-04 17:28:20
假設這是我的示例代碼。運行時輸出[[]][[] []][[] [] []][[] [] [] []]. 幫助我理解這段代碼描述的內容以及編程術語中稱為 routingtable [][]*node 的內容。它是節點的切片還是節點類型的二維數組。如果我聽起來很蠢,請原諒我,但我只是想學習。package mainimport "fmt"type node struct {    id int}func main() {    var routingtable [][]*node    for i := 0; i < 4; i++ {        routingtable = append(routingtable, []*node{})        fmt.Print(routingtable)    }}
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

它只是意味著它包含 4 個空節點指針切片,這是您的代碼的預期行為。


它是一片片的節點指針片。


這是對您的代碼的簡單修改,以向您展示如果將節點添加到切片,它是如何工作的:


package main


import "fmt"


type node struct {

? ? id int

}


func main() {

? ? var routingTable [][]*node

? ? for i := 0; i < 4; i++ {

? ? ? ? routingTable = append(routingTable, []*node{&node{id: i}})

? ? }

? ? fmt.Print(routingTable)

}

將輸出節點指針的切片切片,包含一個節點,每個節點具有不同的地址:


[[0x10414020] [0x10414024] [0x10414028] [0x1041402c]]




查看完整回答
反對 回復 2023-04-04
  • 1 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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