Type literals are a prime example of "undefined" types. For example as in `var a []int`.
On Sun, Feb 23, 2020, 17:21 Jimu Yang <jimuy...@gmail.com> wrote: > Thank you all. > i read all about defined types on the doc > https://golang.org/ref/spec#String_types > now i know many defined types (string bool int ... but which are the > "undefined" types? i didn't find a direct answer. > my thinking is that the "literals" which including all type literals are > not defined types. The following code confirms that. > could you give me a reference answer? > > type str string > var s str = "sdwf" > > // boolean literal > type boolean bool > var b boolean = true > > // integer literal > type integer int > var i integer = 1 > > // slice literal > type strarr []string > var strings []string = []string{"sfw"} > var strs strarr = strings > > // pointer literal > type stringptr *string > var string1 string = "11" > var ptr stringptr = &string1 > > > > > > > 在 2020年2月23日星期日 UTC+8下午9:19:34,Jimu Yang写道: >> >> I am reading the doc about Assignability in Golang Specification >> <https://golang.org/ref/spec#Assignability> . It says: >> >> A value x is *assignable* to a variable >> <https://golang.org/ref/spec#Variables> of type T ("x is assignable to T") >> if one of the following conditions applies: >> >> - ... >> - x's type V and T have identical underlying types >> <https://golang.org/ref/spec#Types> and at least one of V or T is not >> a defined <https://golang.org/ref/spec#Type_definitions> type. >> - ... >> >> >> type str string >> >> func main() { >> string1 := "string" >> var str1 str = "str1" >> str1 = string1 // cannot use string1 (type string) as type str in >> assignment >> } >> >> >> string1's type string and str have identical underlying type (string) and >> string is not a defined type. >> >> So why cannot i assign string1 to str1? >> > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/55a9008d-a7f0-4de1-a420-57f6bbb19774%40googlegroups.com > <https://groups.google.com/d/msgid/golang-nuts/55a9008d-a7f0-4de1-a420-57f6bbb19774%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAA40n-U3-J7ghx-tnaFg2XZgs118owu2z%3DGWDTg3%2BOdoF_Ow_A%40mail.gmail.com.