+++ /dev/null
-package main
-
-// Tests of range loops.
-
-import "fmt"
-
-// Range over string.
-func init() {
- if x := len("Hello, 世界"); x != 13 { // bytes
- panic(x)
- }
- var indices []int
- var runes []rune
- for i, r := range "Hello, 世界" {
- runes = append(runes, r)
- indices = append(indices, i)
- }
- if x := fmt.Sprint(runes); x != "[72 101 108 108 111 44 32 19990 30028]" {
- panic(x)
- }
- if x := fmt.Sprint(indices); x != "[0 1 2 3 4 5 6 7 10]" {
- panic(x)
- }
- s := ""
- for _, r := range runes {
- s += string(r)
- }
- if s != "Hello, 世界" {
- panic(s)
- }
-
- var x int
- for range "Hello, 世界" {
- x++
- }
- if x != len(indices) {
- panic(x)
- }
-}
-
-// Regression test for range of pointer to named array type.
-func init() {
- type intarr [3]int
- ia := intarr{1, 2, 3}
- var count int
- for _, x := range &ia {
- count += x
- }
- if count != 6 {
- panic(count)
- }
-}
-
-func main() {
-}