Re:Poll: How many programming languages do you command fluen...
by jrockway on Saturday January 04, 2014 @10:02PM
(#7014297)
Go does indeed add some nice checks over C. For example, given:
type foo int
var (
A foo = iota
B
C
D
)
func bar(x foo) ...
It's an error to write: bar(2)
That's enough typing to prevent many types of annoying mistakes.
It is generally stronger than C's, in that C lets you be quite... creative... in how you cast values. Go qua Go does not let you do that, though it does have an escape hatch via the unsafe package that lets you do anything C can, mostly used for interfacing with C.