我在一個程式中有幾個結構。我有一個指標,它應該有條件地指向這些結構之一。這是一個簡短的無效示例:
type Struct1 struct {
name string
}
type Struct2 struct {
name string
}
func main() {
var outputDevice
switch inputValue {
case "one":
outputDevice = &Struct1{name: "name"}
case "two":
outputDevice = &struct2{name: "name"}
}
}
注意,這兩個結構都有一個共同的介面:
type Output interface {
Print() error
}
關于如何解決這個問題的任何想法。
uj5u.com熱心網友回復:
這正是介面的用途。
如果您的兩種型別已經共享一個公共介面,則將您的變數設為介面型別:
var outputDevice Output
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/439701.html
