mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 09:41:36 +00:00
Should have more detail about named return values.
There was not a section about named return values, and it feels like it is a valuable and important enough thing to learn early on. If nothing else, when looking at someone else's code this may be a point of confusion.
This commit is contained in:
parent
9862212ed1
commit
e5d8895c8e
@ -116,6 +116,16 @@ can include line breaks.` // Same string type.
|
||||
learnFlowControl() // Back in the flow.
|
||||
}
|
||||
|
||||
// It is possible, unlike in many other languages for functions on go
|
||||
// to have named return values.
|
||||
// We just have to assign a name to the type being returned in the function
|
||||
// declaration line. This allows us to easily return from multiple points
|
||||
// in a function as well as to only use the return keyword, without anything further.
|
||||
func learnNamedReturns(x, y int) (z int) {
|
||||
z = x * y
|
||||
return // z is implicit here, because we named it earlier.
|
||||
}
|
||||
|
||||
// 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.
|
||||
func learnMemory() (p, q *int) {
|
||||
|
Loading…
Reference in New Issue
Block a user