Skip to content

Commit b280ee2

Browse files
committed
Add example usage of for ... range
1 parent 4fda404 commit b280ee2

File tree

1 file changed

+28
-1
lines changed

1 file changed

+28
-1
lines changed

content/A-perulangan.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,34 @@ Dalam perulangan tanpa henti di atas, variabel `i` yang nilai awalnya `0` di-ink
5454

5555
## A.14.4. Penggunaan Keyword `for` - `range`
5656

57-
Cara ke-4 adalah perulangan dengan menggunakan kombinasi keyword `for` dan `range`. Cara ini biasa digunakan untuk me-looping data bertipe array. Detailnya akan dibahas dalam chapter selanjutnya ([A.15. Array](/A-array.html)).
57+
Cara ke-4 adalah perulangan dengan menggunakan kombinasi keyword `for` dan `range`. Cara ini biasa digunakan untuk me-looping data gabungan (misalnya string, array, slice, map). Detailnya akan dibahas dalam chapter-chapter selanjutnya ([A.15. Array](/A-array.html), [A.16. Slice](/A-slice.html), [A.17. Map](/A-map.html)).
58+
59+
```go
60+
var xs = "123" // string
61+
for i, v := range xs {
62+
fmt.Println("Index=", i, "Value=", v)
63+
}
64+
65+
var ys = [5]int{10, 20, 30, 40, 50} // array
66+
for _, v := range ys {
67+
fmt.Println("Value=", v)
68+
}
69+
70+
var zs = ys[0:2] // slice
71+
for _, v := range zs {
72+
fmt.Println("Value=", v)
73+
}
74+
75+
var kvs = map[byte]int{'a': 0, 'b': 1, 'c': 2} // map
76+
for k, v := range kvs {
77+
fmt.Println("Key=", k, "Value=", v)
78+
}
79+
80+
// boleh juga baik k dan atau v nya diabaikan
81+
for range kvs {
82+
fmt.Println("Done")
83+
}
84+
```
5885

5986
## A.14.5. Penggunaan Keyword `break` & `continue`
6087

0 commit comments

Comments
 (0)