doc: update struct access modifiers (#13734)
							parent
							
								
									dbb18e3656
								
							
						
					
					
						commit
						d6eb6d5bae
					
				
							
								
								
									
										26
									
								
								doc/docs.md
								
								
								
								
							
							
						
						
									
										26
									
								
								doc/docs.md
								
								
								
								
							| 
						 | 
					@ -2084,29 +2084,9 @@ __global:
 | 
				
			||||||
	f int // public and mutable both inside and outside parent module
 | 
						f int // public and mutable both inside and outside parent module
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					Private fields are available only inside the same [module](#modules), any attempt
 | 
				
			||||||
For example, here's the `string` type defined in the `builtin` module:
 | 
					to directly access them from another module will cause an error during compilation.
 | 
				
			||||||
 | 
					Public immutable fields are readonly everywhere.
 | 
				
			||||||
```v ignore
 | 
					 | 
				
			||||||
struct string {
 | 
					 | 
				
			||||||
    str &byte
 | 
					 | 
				
			||||||
pub:
 | 
					 | 
				
			||||||
    len int
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It's easy to see from this definition that `string` is an immutable type.
 | 
					 | 
				
			||||||
The byte pointer with the string data is not accessible outside `builtin` at all.
 | 
					 | 
				
			||||||
The `len` field is public, but immutable:
 | 
					 | 
				
			||||||
```v failcompile
 | 
					 | 
				
			||||||
fn main() {
 | 
					 | 
				
			||||||
	str := 'hello'
 | 
					 | 
				
			||||||
	len := str.len // OK
 | 
					 | 
				
			||||||
	str.len++ // Compilation error
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This means that defining public readonly fields is very easy in V.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Methods
 | 
					### Methods
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue