您的功能几乎完全正确。您想将 TrainData 定义为 a type
,并将类型签名更改GetTotalWeight
为[]TrainData
,而不是[]struct
,如下所示:
import "fmt"
type TrainData struct {
sentence string
sentiment string
weight int
}
var TrainDataCity = []TrainData {
{"I love the weather here.", "pos", 1700},
{"This is an amazing place!", "pos", 2000},
{"I feel very good about its food and atmosphere.", "pos", 2000},
{"The location is very accessible.", "pos", 1500},
{"One of the best cities I've ever been.", "pos", 2000},
{"Definitely want to visit again.", "pos", 2000},
{"I do not like this area.", "neg", 500},
{"I am tired of this city.", "neg", 700},
{"I can't deal with this town anymore.", "neg", 300},
{"The weather is terrible.", "neg", 300},
{"I hate this city.", "neg", 100},
{"I won't come back!", "neg", 200},
}
func GetTotalWeight(data_arr []TrainData) int {
total := 0
for _, elem := range data_arr {
total += elem.weight
}
return total
}
func main() {
fmt.Println("Hello, playground")
fmt.Println(GetTotalWeight(TrainDataCity))
}
运行这个给出:
Hello, playground
13300