1
0
mirror of https://github.com/golang/go synced 2024-11-14 22:50:27 -07:00

doc: document "range-over-func" language change in release notes

For #65614.

Change-Id: Idbbcb6eb57b7294d52b174c1aba74ca7aa1b8efd
Reviewed-on: https://go-review.googlesource.com/c/go/+/590616
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Robert Griesemer <gri@google.com>
TryBot-Bypass: Robert Griesemer <gri@google.com>
This commit is contained in:
Robert Griesemer 2024-06-04 16:06:12 -07:00 committed by Robert Griesemer
parent 103317217d
commit 1b07b774c0

View File

@ -1,3 +1,13 @@
## Changes to the language {#language} ## Changes to the language {#language}
<!-- go.dev/issue/61405, CL 557835, CL 584596 -->
Go 1.23 makes the (Go 1.22) ["range-over-func" experiment](https://tip.golang.org/wiki/RangefuncExperiment) a part of the language.
The "range" clause in a "for-range" loop now accepts iterator functions of the following types
func(func() bool)
func(func(K) bool)
func(func(K, V) bool)
as range expressions.
Calls of the iterator argument function produce the iteration values for the "for-range" loop.
For details see the [language spec](https://tip.golang.org/ref/spec#For_statements).