मैंने स्ट्रिंग मान (नाम) के साथ एक संरचना की पहचान करने की कोशिश की है। reflect.TypeOf
Type
देता है।प्रतिबिंब का उपयोग कर गोलांग प्रकार का दावा। टाइप()
लेकिन प्रकार के दावे को type
की आवश्यकता है।
मैं Type
से type
पर कैसे जा सकता हूं?
या इसे संभालने के लिए कोई सुझाव?
http://play.golang.org/p/3PJG3YxIyf
package main
import (
"fmt"
"reflect"
)
type Article struct {
Id int64 `json:"id"`
Title string `json:"title",sql:"size:255"`
Content string `json:"content"`
}
func IdentifyItemType(name string) interface{} {
var item interface{}
switch name {
default:
item = Article{}
}
return item
}
func main() {
i := IdentifyItemType("name")
item := i.(Article)
fmt.Printf("Hello, item : %v\n", item)
item2 := i.(reflect.TypeOf(i)) // reflect.TypeOf(i) is not a type
fmt.Printf("Hello, item2 : %v\n", item2)
}
यह गो में पूरी तरह असंभव है।एक प्रकार का दावा केवल एक संकलन-समय-स्थिर निश्चित स्थिर प्रकार का दावा करता है। आपको अपना समाधान दोबारा करना है। – Volker
टिप्पणी के लिए धन्यवाद। यह बहुत स्पष्ट है! – dorajistyle