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

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

[]interface{}{} 中的雙大括號是什么意思

[]interface{}{} 中的雙大括號是什么意思

Go
郎朗坤 2023-07-04 19:13:16
請注意,這是格式為 {}{} 的雙花括號,而不是嵌套花括號 {{}}。我也不確定這是空接口問題、切片問題還是結構問題。我猜它至少是其中兩個的組合。我正在學習 Golang,并且已經達到了空接口。我發現我需要將空接口聲明為[]interface{}{}或者例如[]interface{}{"aa","bb"}我不想盲目地開始使用它。雖然我理解空接口的概念,并且接口包含數據的兩部分,即值和類型,但我只是不理解 {}{} 結構?我了解到切片是用 make() 創建的,或者例如 []int{}使用空接口時額外的 {} 有何作用?謝謝我已經用谷歌搜索了它,并瀏覽了我的教程。我還將它與我所了解的結構進行了比較,因為我懷疑接口是一個結構。我嘗試谷歌 golang 接口主要產生正常的接口,我沒有問題。
查看完整描述

2 回答

?
牛魔王的故事

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

[]interface{}是類型:[]空接口的切片interface{}(實際上是匿名內聯類型聲明)。第二組大括號實例化該類型的實例,因此[]interface{}{}是空接口的空切片,[]interface{}{"aa","bb"}是具有兩個項目的空接口的切片。這也可能是包含[]string{"aa","bb"}兩個項目的字符串切片,這是具有不同類型的同一事物(string代替interface{})。

您還可以有一個非空接口,例如[]interface{SomeFunc()}{}的空切片interface{SomeFunc()},即非空匿名接口類型。或者您可以使用匿名結構類型來完成此操作,例如[]struct{Foo string}{{"bar"},{"baz"}}. 這里有更多的大括號 - 第一對圍繞類型定義主體,第二對圍繞切片文字,并且在其中,每個一對圍繞兩個結構文字。


查看完整回答
反對 回復 2023-07-04
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

interface{}是空接口類型

[]interface{}是一個空接口類型的切片

interface{}{}是一個空接口類型復合文字

[]interface{}{}是空接口復合文字類型的切片


Go 編程語言規范

接口類型

切片類型

復合文字


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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