docs: structs: clean up

pull/4917/head
Alexander Medvednikov 2020-05-16 15:19:48 +02:00 committed by GitHub
parent cd43258f41
commit 5767576deb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 4 deletions

View File

@ -618,6 +618,8 @@ p := Point{
println(p.x) // Struct fields are accessed using a dot println(p.x) // Struct fields are accessed using a dot
``` ```
<p>&nbsp;</p>
Structs are allocated on the stack. To allocate a struct on the heap Structs are allocated on the stack. To allocate a struct on the heap
and get a reference to it, use the `&` prefix: and get a reference to it, use the `&` prefix:
@ -633,6 +635,7 @@ References are similar to Go pointers and C++ references.
<p>&nbsp;</p> <p>&nbsp;</p>
V doesn't allow subclassing, but it supports embedded structs:
```v ```v
// TODO: this will be implemented later // TODO: this will be implemented later
@ -648,15 +651,15 @@ button.set_pos(x, y)
button.widget.set_pos(x,y) button.widget.set_pos(x,y)
``` ```
V doesn't allow subclassing, but it supports embedded structs.
<p>&nbsp;</p> <p>&nbsp;</p>
```v ```v
struct Foo { struct Foo {
pos int = -1 n int // n is 0 by default
x int // x is 0 by default pos int = -1 // custom default value
} }
``` ```
All struct fields are zeroed by default during the creation of the struct. But it's also possible to define custom default values. All struct fields are zeroed by default during the creation of the struct. But it's also possible to define custom default values.
## Access modifiers ## Access modifiers