Links

Golang

To define Golang as the target language in a template file :
#set( $env.language = 'Go' )
The information below shows the behavior of the generator when Golang is the current target language. For a detailed description of type conversion, see the generated documentation : https://www.telosys.org/doc/latest/languages/language-go.html

Types conversion

The table below describes how model neutral types are automatically converted to Golang types with potential impact due to attribute annotations.
Model type
Go type
with annotation
string
string
byte
byte uint8
@UnsignedType
short
int16 uint16
@UnsignedType
int
int32 uint32
@UnsignedType
long
int64 uint64
@UnsignedType
decimal
float64
float
float32
double
float64
boolean
bool
date
time.Time
time
time.Time
timestamp
time.Time
binary
[ ] byte

Annotations effects

  • @UnsignedType has effect only for byte, short, int, long
  • @ObjectType no effect
  • @NotNull no effect
  • @PrimitiveType no effect

Specific types

  • $attribute.fullType no effect (always returns the standard Go type)
  • $attribute.simpleType
    no effect (always returns the standard Go type)
  • $attribute.wrapperType no effect (always returns the standard Go type)
So, for Golang you can always use the basic "$attribute.type"

See also

For more information about Golang types see :

Literal values

TRUE, FALSE, NULL

Golang literal
TRUE
true
FALSE
false
NULL
nil

Generated literal values

Below some examples of literal values generated for each type :
Model type
Golang type
Golang literal value
string
string
"AAA"
byte
byte
uint8
1
short
int16 uint16
1
int
int32 uint32
100
long
int64 uint64
1000
decimal
float64
10000.77
float
float32
1000.5
double
float64
1000.66
boolean
bool
true or false
date
time.Time
nil
time
time.Time
nil
timestamp
time.Time
nil
binary
[ ] byte
nil
Last modified 2d ago