Language Extensions
RemObjects Go adds no features to the Go language, in order to keep it as close to the original standard Go implementation as possible.
Instantiating Classes
While Go does not support defining class types, it can interfact with classes provided by the platform base libraries, or defined in code written in a different Elements languages.
When working with class instances obtained externally, methods and properties of the instance can be accessed using the same paradigms as used for Go struct
s. In addition, RemObjects Go also allows creating new instances of classes, again in a syntax that mirrors that of initializing a regular struct
:
var b = Button { Caption: "Test", Color: Color.Red }
Inheritance for Structs
In RemObjects Go struct
s can specify an ancestor, allowing a newly declared struct to inherit the fields and methods of its base struct. Unlike classes, structs are not polymorphic, and members cannot be virtual or overriden.
Other Language Extensions
There are no language extensions for RemObjects Go, for now.