]> Cypherpunks repositories - gostls13.git/commitdiff
spec: clarify when a range expression is evaluated
authorRobert Griesemer <gri@golang.org>
Wed, 24 Apr 2024 00:30:02 +0000 (17:30 -0700)
committerGopher Robot <gobot@golang.org>
Thu, 25 Apr 2024 01:05:15 +0000 (01:05 +0000)
If the range expression is a numeric constant, the
range expression is also not evaluated.

Change-Id: I97201e5c136d3d1a87ed1500b19b7199b30bc9ff
Reviewed-on: https://go-review.googlesource.com/c/go/+/581298
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Robert Griesemer <gri@google.com>
Auto-Submit: Robert Griesemer <gri@google.com>

doc/go_spec.html

index 0fd12bf4b52c0c0a824df615ad711750b3d0f6c9..f5069f62d6fff5ffab010796bcf3767dabeb548a 100644 (file)
@@ -1,6 +1,6 @@
 <!--{
        "Title": "The Go Programming Language Specification",
-       "Subtitle": "Language version go1.22 (Feb 6, 2024)",
+       "Subtitle": "Language version go1.22 (April 24, 2024)",
        "Path": "/ref/spec"
 }-->
 
@@ -6644,8 +6644,8 @@ the range clause is equivalent to the same clause without that identifier.
 
 <p>
 The range expression <code>x</code> is evaluated once before beginning the loop,
-with one exception: if at most one iteration variable is present and
-<code>len(x)</code> is <a href="#Length_and_capacity">constant</a>,
+with one exception: if at most one iteration variable is present and <code>x</code> or
+<a href="#Length_and_capacity"><code>len(x)</code></a> is <a href="#Constants">constant</a>,
 the range expression is not evaluated.
 </p>