我需要任何類型的幫助。Golang中的通用方法參數
我有一個功能,我需要接受其他類型具有ID
屬性。
我嘗試過使用接口,但沒有爲我的ID
屬性大小寫工作。下面是代碼:
package main
import (
"fmt"
"strconv"
)
type Mammal struct{
ID int
Name string
}
type Human struct {
ID int
Name string
HairColor string
}
func Count(ms []Mammal) *[]string { // How can i get this function to accept any type not just []Mammal
IDs := make([]string, len(ms))
for i, m := range ms {
IDs[i] = strconv.Itoa(int(m.ID))
}
return &IDs
}
func main(){
mammals := []Mammal{
Mammal{1, "Carnivorious"},
Mammal{2, "Ominivorious"},
}
humans := []Human{
Human{ID:1, Name: "Peter", HairColor: "Black"},
Human{ID:2, Name: "Paul", HairColor: "Red"},
}
numberOfMammalIDs := Count(mammals)
numberOfHumanIDs := Count(humans)
fmt.Println(numberOfMammalIDs)
fmt.Println(numberOfHumanIDs)
}
我得到這個
錯誤prog.go:39:不能用人類(鍵入[]人)類型[]哺乳動物參數計數
看去遊樂場瞭解更多詳情這裏http://play.golang.org/p/xzWgjkzcmH
萬分感謝icza – 2015-02-08 13:59:58