mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
doc: replace 'property' to 'field' (#13200)
This commit is contained in:
parent
d8263171ff
commit
1c4c430642
19
doc/docs.md
19
doc/docs.md
@ -676,12 +676,12 @@ println(nums[1]) // `2`
|
|||||||
nums[1] = 5
|
nums[1] = 5
|
||||||
println(nums) // `[1, 5, 3]`
|
println(nums) // `[1, 5, 3]`
|
||||||
```
|
```
|
||||||
#### Array Properties
|
#### Array Fields
|
||||||
There are two properties that control the "size" of an array:
|
There are two fields that control the "size" of an array:
|
||||||
* `len`: *length* - the number of pre-allocated and initialized elements in the array
|
* `len`: *length* - the number of pre-allocated and initialized elements in the array
|
||||||
* `cap`: *capacity* - the amount of memory space which has been reserved for elements,
|
* `cap`: *capacity* - the amount of memory space which has been reserved for elements,
|
||||||
but not initialized or counted as elements. The array can grow up to this size without
|
but not initialized or counted as elements. The array can grow up to this size without
|
||||||
being reallocated. Usually, V takes care of this property automatically but there are
|
being reallocated. Usually, V takes care of this field automatically but there are
|
||||||
cases where the user may want to do manual optimizations (see [below](#array-initialization)).
|
cases where the user may want to do manual optimizations (see [below](#array-initialization)).
|
||||||
|
|
||||||
```v
|
```v
|
||||||
@ -692,7 +692,7 @@ nums = [] // The array is now empty
|
|||||||
println(nums.len) // "0"
|
println(nums.len) // "0"
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that the properties are read-only fields and can't be modified by the user.
|
Note that fields are read-only and can't be modified by the user.
|
||||||
|
|
||||||
#### Array Initialization
|
#### Array Initialization
|
||||||
The basic initialization syntax is as described [above](#basic-array-concepts).
|
The basic initialization syntax is as described [above](#basic-array-concepts).
|
||||||
@ -1990,8 +1990,7 @@ fn main() {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
This means that defining public readonly fields is very easy in V,
|
This means that defining public readonly fields is very easy in V.
|
||||||
no need in getters/setters or properties.
|
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
@ -3361,7 +3360,7 @@ those in Go. You can push objects into a channel on one end and pop objects from
|
|||||||
Channels can be buffered or unbuffered and it is possible to `select` from multiple channels.
|
Channels can be buffered or unbuffered and it is possible to `select` from multiple channels.
|
||||||
|
|
||||||
#### Syntax and Usage
|
#### Syntax and Usage
|
||||||
Channels have the type `chan objtype`. An optional buffer length can specified as the `cap` property
|
Channels have the type `chan objtype`. An optional buffer length can specified as the `cap` field
|
||||||
in the declaration:
|
in the declaration:
|
||||||
|
|
||||||
```v
|
```v
|
||||||
@ -3370,7 +3369,7 @@ ch2 := chan f64{cap: 100} // buffer length 100
|
|||||||
```
|
```
|
||||||
|
|
||||||
Channels do not have to be declared as `mut`. The buffer length is not part of the type but
|
Channels do not have to be declared as `mut`. The buffer length is not part of the type but
|
||||||
a property of the individual channel object. Channels can be passed to coroutines like normal
|
a field of the individual channel object. Channels can be passed to coroutines like normal
|
||||||
variables:
|
variables:
|
||||||
|
|
||||||
```v
|
```v
|
||||||
@ -3491,7 +3490,7 @@ if select {
|
|||||||
|
|
||||||
#### Special Channel Features
|
#### Special Channel Features
|
||||||
|
|
||||||
For special purposes there are some builtin properties and methods:
|
For special purposes there are some builtin fields and methods:
|
||||||
```v
|
```v
|
||||||
struct Abc {
|
struct Abc {
|
||||||
x int
|
x int
|
||||||
@ -3514,7 +3513,7 @@ res2 := ch2.try_pop(mut b) // try to perform `b = <-ch2`
|
|||||||
The `try_push/pop()` methods will return immediately with one of the results
|
The `try_push/pop()` methods will return immediately with one of the results
|
||||||
`.success`, `.not_ready` or `.closed` - dependent on whether the object has been transferred or
|
`.success`, `.not_ready` or `.closed` - dependent on whether the object has been transferred or
|
||||||
the reason why not.
|
the reason why not.
|
||||||
Usage of these methods and properties in production is not recommended -
|
Usage of these methods and fields in production is not recommended -
|
||||||
algorithms based on them are often subject to race conditions. Especially `.len` and
|
algorithms based on them are often subject to race conditions. Especially `.len` and
|
||||||
`.closed` should not be used to make decisions.
|
`.closed` should not be used to make decisions.
|
||||||
Use `or` branches, error propagation or `select` instead (see [Syntax and Usage](#syntax-and-usage)
|
Use `or` branches, error propagation or `select` instead (see [Syntax and Usage](#syntax-and-usage)
|
||||||
|
Loading…
Reference in New Issue
Block a user