Alireza Shamsi
Alireza Shamsi
خواندن ۲ دقیقه·۶ سال پیش

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-------------------------------------------توابع>>

goزبان برنامه نویسی go
در جست و جوی خود
مستندات زبان گولنگ به پارسی(GO)
شاید از این پست‌ها خوشتان بیاید