Исходники и презентации
This commit is contained in:
@ -0,0 +1,29 @@
|
||||
package main
|
||||
|
||||
type Stringer interface {
|
||||
String() string
|
||||
}
|
||||
|
||||
func ToString[T Stringer](values ...T) []string {
|
||||
result := make([]string, 0, len(values))
|
||||
for idx := range values {
|
||||
result = append(result, values[idx].String())
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
type Data struct{}
|
||||
|
||||
func (d Data) String() string {
|
||||
return "string"
|
||||
}
|
||||
|
||||
func main() {
|
||||
data := Data{}
|
||||
var idata Stringer = data
|
||||
|
||||
_ = ToString(data)
|
||||
_ = ToString(idata)
|
||||
_ = ToString(100)
|
||||
}
|
||||
Reference in New Issue
Block a user