API Types
Overview
Section titled “Overview”The API type declaration is very similar to the Golang type statement, but there are some nuances and we turn to the API type statement.
Type Declaration
Section titled “Type Declaration”In the API description, the type declaration needs to satisfy the following rule:
- Type declaration must start with
type - No need to declare
structurekeywords - Nested Structural Declarations are not supported
- Alias not supported
Sample
Section titled “Sample”type StructureExample { // Basic data type example BaseInt int `json:"base_int"` BaseBool bool `json:"base_bool"` BaseString string `json:"base_string"` BaseByte byte `json:"base_byte"` BaseFloat32 float32 `json:"base_float32"` BaseFloat64 float64 `json:"base_float64"` // slice example BaseIntSlice []int `json:"base_int_slice"` BaseBoolSlice []bool `json:"base_bool_slice"` BaseStringSlice []string `json:"base_string_slice"` BaseByteSlice []byte `json:"base_byte_slice"` BaseFloat32Slice []float32 `json:"base_float32_slice"` BaseFloat64Slice []float64 `json:"base_float64_slice"` // map example BaseMapIntString map[int]string `json:"base_map_int_string"` BaseMapStringInt map[string]int `json:"base_map_string_int"` BaseMapStringStruct map[string]*StructureExample `json:"base_map_string_struct"` BaseMapStringIntArray map[string][]int `json:"base_map_string_int_array"` // anonymous example *Base // pointer example Base4 *Base `json:"base4"`
// new features ( goctl >= 1.5.1 version support ) // tag ignore example TagOmit string}