Overview
-
Focus on Concurrency.
-
Uses the keyword
go.
-
-
Go is Golang , same thing.
-
Focus on performance, 'Cloud' and 'Server'.
Memory
-
Has a Garbage Collector.
-
Can store memory addresses, just like C, using & and *.
Safety
-
Default: controlled by the case of the identifier:
-
Starting with uppercase letter: Public (exported outside the package).
-
Starting with lowercase letter: Private (accessible only within the same package).
-
This is widely disliked. I donβt like it and Prime hates it.
-
package main
type MyStruct struct { // Exported (public)
PublicField int
privateField int // Private to the package
}
Syntax
-
Static typing.
-
Has 'var' in function definitions; or you can use ':=' to define the type via value inference.
-
Must pay more attention to declared types.
-
int8, int16, uint16, etc.
-
-
Some low-level caveats exist, despite the syntax being relatively simple.
-
Multiple variables can be defined on a single line, just like Python.
-
Functions can have multiple return values.
something := 2
import 'fmt'
fmt.println('hi')
Impressions
-
Default Access Control controlled by the case of the identifier:
-
Bro .
-
Starting with uppercase letter: Public (exported outside the package).
-
Starting with lowercase letter: Private (accessible only within the same package).
-
-
Does not have null safety.
-
Nothing stood out to me. Not impressive and has few use cases.
-
Meh.