GoDasturchi
Read and Write

Read and Write

O'qish va yozish

example.go
servers := []string{"web-1", "web-2", "web-3"}
fmt.Println(servers[0]) // web-1
fmt.Println(servers[2]) // web-3

Slicedagi har bir elementning indeksi bor, u 0 dan boshlanadi. i pozitsiyasidagi elementni o'qish uchun slice[i] dan foydalaning.

Elementlarni xuddi shunday yangilashingiz ham mumkin:

example.go
servers[1] = "web-backup"
fmt.Println(servers) // [web-1 web-backup web-3]

Oxirgi to'g'ri indeks har doim len(slice) - 1` ga teng. Shu diapazondan tashqaridagi indeksga murojaat qilish dasturingizni "index out of range" xatosi bilan qulatadi.

>_ Exercise

Sizda server holatlari slice'i bor: "healthy", "healthy", "degraded"

Berilgan indeksdagi holatni yangilaydigan RotateStatus(statuses []string, index int, newStatus string) funksiyasini yozing.

Funksiya slicani joyida (in place) o'zgartiradi (qaytish qiymati kerak emas).

Misollar:

example.go
Oldin: ["healthy", "healthy", "degraded"]
RotateStatus(statuses, 2, "healthy")
Keyin: ["healthy", "healthy", "healthy"]

Oldin: ["healthy", "healthy", "healthy"]
RotateStatus(statuses, 0, "down")
Keyin: ["down", "healthy", "healthy"]

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

slice[i]i pozitsiyasidagi elementni o'qiydi yoki yozadi. Indekslar 0 dan boshlanadi, oxirgisi esa len(slice) - 1 ga teng.

NEXT UP

Growing a Slice

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Read and Write

O'qish va yozish

example.go
servers := []string{"web-1", "web-2", "web-3"}
fmt.Println(servers[0]) // web-1
fmt.Println(servers[2]) // web-3

Slicedagi har bir elementning indeksi bor, u 0 dan boshlanadi. i pozitsiyasidagi elementni o'qish uchun slice[i] dan foydalaning.

Elementlarni xuddi shunday yangilashingiz ham mumkin:

example.go
servers[1] = "web-backup"
fmt.Println(servers) // [web-1 web-backup web-3]

Oxirgi to'g'ri indeks har doim len(slice) - 1` ga teng. Shu diapazondan tashqaridagi indeksga murojaat qilish dasturingizni "index out of range" xatosi bilan qulatadi.

>_ Exercise

Sizda server holatlari slice'i bor: "healthy", "healthy", "degraded"

Berilgan indeksdagi holatni yangilaydigan RotateStatus(statuses []string, index int, newStatus string) funksiyasini yozing.

Funksiya slicani joyida (in place) o'zgartiradi (qaytish qiymati kerak emas).

Misollar:

example.go
Oldin: ["healthy", "healthy", "degraded"]
RotateStatus(statuses, 2, "healthy")
Keyin: ["healthy", "healthy", "healthy"]

Oldin: ["healthy", "healthy", "healthy"]
RotateStatus(statuses, 0, "down")
Keyin: ["down", "healthy", "healthy"]

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

slice[i]i pozitsiyasidagi elementni o'qiydi yoki yozadi. Indekslar 0 dan boshlanadi, oxirgisi esa len(slice) - 1 ga teng.

NEXT UP

Growing a Slice