![](/img/trans.png)
[英]Initializing a variable in a struct while declaring a custom json name returns syntax error: unexpected literal
[英]Error while creating array of struct and initializing elements in it
我正在嘗試創建包含兩個元素的數組,但出現錯誤
type TODO struct {
Number int
Task string
}
func main() {
var todoArr [2]TODO
fE := &TODO{Number: 10, Task: "Task1"}
sE := &TODO{Number: 11, Task: "Task2"}
todoArr[0] = fE
todoArr[1] = sE
}
不能在分配中使用fE(* TODO類型)作為TODO類型
我不知道為什么我也想知道是否有一個簡短的形式像這樣在golang中聲明和初始化數組/切片
[]TODO{&TODO{Number: 10, Task: "Task1"}, &TODO{Number: 11, Task: "Task2"}}
更改代碼以聲明指向TODO的指針數組:
var todoArr [2]*TODO
fE := &TODO{Number: 10, Task: "Task1"}
sE := &TODO{Number: 11, Task: "Task2"}
todoArr[0] = fE
todoArr[1] = sE
或更改代碼以將TODO值放入數組中:
var todoArr [2]TODO
fE := TODO{Number: 10, Task: "Task1"}
sE := TODO{Number: 11, Task: "Task2"}
todoArr[0] = fE
todoArr[1] = sE
您可以使用文字語法聲明切片
[]*TODO{&TODO{Number: 10, Task: "Task1"}, &TODO{Number: 11, Task: "Task2"}}
要么
[]TODO{TODO{Number: 10, Task: "Task1"}, TODO{Number: 11, Task: "Task2"}}
取決於您是否選擇使用指針。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.