Data: Difference between revisions
Jump to navigation
Jump to search
Adamcolton (talk | contribs) No edit summary |
Adamcolton (talk | contribs) |
||
| Line 2: | Line 2: | ||
== Large Uint == | == Large Uint == | ||
A uint is a byte slice. | |||
(data uint) LoadUint(l uint) (this uint, rest uint) { | |||
if l==0{ | |||
b = data[0] | |||
if b < 129 { | |||
return b, data[1:] | |||
} | |||
if b < 252 { | |||
return data[1:b-250], data[b-250:] | |||
} | |||
return LoadUint(b-251) | |||
} | |||
return data[1:l+1], data[l+1:] | |||
} | |||
== Fundamental Structures == | == Fundamental Structures == | ||
Revision as of 15:20, 19 September 2019
Data; it's structure, formatting and storage.
Large Uint
A uint is a byte slice.
(data uint) LoadUint(l uint) (this uint, rest uint) {
if l==0{
b = data[0]
if b < 129 {
return b, data[1:]
}
if b < 252 {
return data[1:b-250], data[b-250:]
}
return LoadUint(b-251)
}
return data[1:l+1], data[l+1:]
}
Fundamental Structures
Value
A type and bytes where the type indicates how to interpret the bytes.
Array
An ordered list, all of the same type.
Tagged Union
One of a set of types with a tag indicating the type.
Tuple
An ordered list where the tuple type defines the length and the type of each element.
Struct
An unordered list where each element has a tag and a type.
Associative Array
An unordered list where each element has key and value.