docs: document enum <-> int assignment and casting (#8872)

pull/8879/head
Ben-Fields 2021-02-21 03:54:13 -06:00 committed by GitHub
parent cb7c5d58d9
commit 3907a1ab49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 0 deletions

View File

@ -2132,6 +2132,25 @@ color := Color.@none
println(color)
```
Integers may be assigned to enum fields.
```v
enum Grocery {
apple
orange = 5
pear
}
g1 := int(Grocery.apple)
g2 := int(Grocery.orange)
g3 := int(Grocery.pear)
println('Grocery IDs: $g1, $g2, $g3')
```
Output: `Grocery IDs: 0, 5, 6`.
Operations are not allowed on enum variables; they must be explicity cast to `int`.
### Sum types
A sum type instance can hold a value of several different types. Use the `type`