要求是从一个函数中添加一个结构体的“示例”,并将其添加到main中的结构体数组中。我尝试使用“append”,但它在数组上不起作用。我尝试使用切片方法(append)和指针,但它只会使我的代码变得最糟糕。我应该能够访问三个水果(结构体)数组中的所有元素以进行输出。谢谢!
package main
import "fmt"
type Fruit struct {
name string
color string
weight float32
}
func newFruit(name string) (string, string, float32) {
return name, "unk", 0
}
func main() {
var basket [3]Fruit
var name string
for i := 0; i < len(basket); i++ {
fmt.Print("Enter name: ")
fmt.Scanln(&name)
basket[i] := newFruit(name) //<-- error: assignment mismatch, tried "=" but still not working
}
for i := 0; i < len(basket); i++ {
fmt.Println("Name: ", i, ": ", basket[i].name)
fmt.Println("Color: ", i, ": ", basket[i].color)
fmt.Println("Weight: ", i, ": ", basket[i].weight)
}
}
1条答案
按热度按时间nkcskrwz1#
您的
newFruit
需要返回一个Fruit
,而不是两个字符串和一个float 32。例如:
正如@mkopriva在评论中指出的,你也有一个错字:
应该是