در جست و جوی خود
11.آموزش GO با مثال (تکرار range)

رنج ها (range) به طور متوالی بر روی انواع مختلفی از عناصر یک آرایه تکرار میشن . بیایید با هم دیگه range رو روی ساختمان داده هایی که تا حالا یاد گرفتیم امتحان کنیم:
package main
import "fmt"
func main() {چطور ما از rangeبرای اضافه کردن مقادیر عددی در آرایه های برشی استفاده میکنیم. آرایه ها هم همینطوری مثل برش ها استفاده میکنن.
nums := []int{2, 3, 4}
sum := 0
for _, num := range nums {
sum += num
}
fmt.Println("sum:", sum)رنج range روی هر ورودی آرایه ها و برشها میتونه شاخص و مقدار اون عنصر رو پیدا کنن.در بالا ما به این شاخص نیاز نداریم، بنابراین ما آن را با شناسه خالی _ نادیده گرفتیم. بعضی اوقات ما واقعا شاخص ها را می خواهیم.
for i, num := range nums {
if num == 3 {
fmt.Println("index:", i)
}
}و range روی جفت مقادیر کلید/مقدار مپ ها هم تکرار میتونه بشه:
kvs := map[string]string{"a": "apple", "b": "banana"}
for k, v := range kvs {
fmt.Printf("%s -> %s\n", k, v)
}حتی range فقط میتونه روی کلیدهای مپ تکرار بشه:
for k := range kvs {
fmt.Println("key:", k)
}در گو range روی کد پوینت های یونیکدی رشته ها هم میتونه تکرار بشه. اولین مقدار اندیس rune مورد نظر و دومین مقدار خوده rune مورد نظر.
for i, c := range "go" {
fmt.Println(i, c)
}
}$ go run range.go
sum: 9
index: 1
a -> apple
b -> banana
key: a
key: b
0 103
1 111<<آرایه map-------------------------------------------توابع>>
مطلبی دیگر از این انتشارات
3.آموزش GO با مثال (متغیر ها)
مطلبی دیگر از این انتشارات
25.آموزش GO با مثال(هماهنگ سازی کانال)
مطلبی دیگر از این انتشارات
28.آموزش GO با مثال(زمان تأخیر)