diff options
| author | Divay Prakash <divayprakash@users.noreply.github.com> | 2020-02-09 22:17:35 +0530 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-09 22:17:35 +0530 | 
| commit | ccb727ebd36bf080d07a9e536a11fac61243d90c (patch) | |
| tree | 18a5dd1d2c6c22e17f3a2a76b9d2cc3decc25819 | |
| parent | 59b1ba43e0dff252a562ae9822627045eef7d050 (diff) | |
| parent | 3869472f749e74f554eda136654ec9d098cf0fb7 (diff) | |
Merge pull request #3848 from petrroll/patch-1
[go/en] Clarify safety of taking local variable address.
| -rw-r--r-- | go.html.markdown | 3 | 
1 files changed, 2 insertions, 1 deletions
| diff --git a/go.html.markdown b/go.html.markdown index 49f1ade4..ec812f20 100644 --- a/go.html.markdown +++ b/go.html.markdown @@ -168,10 +168,11 @@ func learnNamedReturns(x, y int) (z int) {  // Go is fully garbage collected. It has pointers but no pointer arithmetic.  // You can make a mistake with a nil pointer, but not by incrementing a pointer. +// Unlike in C/Cpp taking and returning an address of a local varible is also safe.   func learnMemory() (p, q *int) {  	// Named return values p and q have type pointer to int.  	p = new(int) // Built-in function new allocates memory. -	// The allocated int is initialized to 0, p is no longer nil. +	// The allocated int slice is initialized to 0, p is no longer nil.  	s := make([]int, 20) // Allocate 20 ints as a single block of memory.  	s[3] = 7             // Assign one of them.  	r := -2              // Declare another local variable. | 
