接口

type named interface {
    getName() string
}

//Sity is ...
type Sity struct {
    Name string
}

func (s SitygetName() string {
    return s.Name
}

//Star is ...
type Star struct {
    Name string
}

func (s StargetName() string {
    return s.Name
}

var rows = []named{
    Sity{"Rome"},
    Star{"Sirius"},
}

var list = ""
for _, row := range rows {
    if len(list) > 0 {
        list += ", "
    }
    list += row.getName()
}
//list is "Rome, Sirius"
fmt.Println("list =", list)