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.

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