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 structs. 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 structs 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.