package main import ( "fmt" ) type Container interface { type() string } type IntContainer struct { value int } func (ic IntContainer) type() string { return "int" } type StringContainer struct { value string } func (sc StringContainer) type() string { return "string" } func printValue(c Container) { switch c.type() { case "int": fmt.Println("Integer value:", c.(IntContainer).value) Go语言的问题及解决方案 case "string": fmt.Println("String value:", c.(StringContainer).value) } } func main() { intC := IntContainer{value: 10} stringC := StringContainer{value: "Hello"} printValue(intC) printValue(stringC) }
登录后复制