diff --git a/doc/go_faq.html b/doc/go_faq.html index 37a31ae289..884d98ba6e 100644 --- a/doc/go_faq.html +++ b/doc/go_faq.html @@ -769,6 +769,29 @@ for i, v := range t { } +
+type T1 int +type T2 int +var t1 T1 +var x = T2(t1) // OK +var st1 []T1 +var sx = ([]T2)(st1) // NOT OK ++ +
+In Go, types are closely tied to methods, in that every named type has +a (possibly empty) method set. +The general rule is that you can change the name of the type being +converted (and thus possibly change its method set) but you can't +change the name (and method set) of elements of a composite type. +Go requires you to be explicit about type conversions. +
+