On Sat, Oct 1, 2016 at 4:28 PM T L <tapir....@gmail.com> wrote:

> I know this byte and uint8 are identical in syntax.

They are identical semantically.

> But they are not defined with TypeSpec
<https://golang.org/ref/spec#Type_declarations> style described in the go
spec.

It's not possible to define all predeclared Go types using Go syntax. The
predeclared error type can be defined just normally, for example[0]. But
there's no way how to define a byte using valid Go source code. Some basic
building blocks must be predefined in every sane programming language. From
those basic building blocks other types can be built in source, provided
the language supports user defined types at all.

> In addition to there is no ways to define identical custom named types,
so I think the text "Two named types <https://golang.org/ref/spec#Types>
are identical if their type names originate in the same TypeSpec
<https://golang.org/ref/spec#Type_declarations>." in go spec is
meaningless.

It's been discussed earlier in this thread that without this "meaningless"
specification detail a particular example program would be rejected. It is
not, because of this specs sentence. How it could be meaningless then?

> Sorry, my English is not good, I have tried my best to explain my opinion.

No problem with your English ;-)

  [0]:
https://github.com/cznic/gc/blob/c3bc1381b6d1fb6498e2ef9f76002fc09554b3f8/context.go#L59

-- 

-j

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to