Unlike C++ strong type language
it's hard to convert from different type name even they have the same memory layout,
we can convert; however, through ptr.
golang spec:
https://golang.org/ref/spec#Assignability
package main import ( "fmt" ) type type1 []struct { Field1 string Field2 int } type type2 []struct { Field1 string Field3 int // conversion must have same name. Why? Due to accessing the datamember name should be consistent. } func main() { t1 := type1{{"A", 1}, {"B", 2}} t2 := type2(t1) fmt.Println(t2) }
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.