>From a language user's point of view, the following understanding seems to 
work:

- A named ("defined") type has one or more names ("identifiers")
- A type definition creates a new named type, distinct from all others
- An alias declaration adds a new name to an existing type

This does beg the question:

type Foo int
type Bar = Foo

var a Bar

What is the type of 'a'?  Is it "Bar", or is it 
"the-type-known-as-Foo-or-Bar"?  What type should error messages show?

Testing shows that the type of a "Foo":
https://play.golang.org/p/fVpDaEN0OVG

So my simple understanding seems sufficient, at least in this simple case.  
Error messages just show the first of the (perhaps many) names that the 
type has.

-- 
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/21dc75e9-ffbd-481c-ae1b-8d8662937d2a%40googlegroups.com.

Reply via email to