Sobes.tech
Middle

İteratörlerde next yöntemi nedir ve nasıl uygulanır?

sobes.tech yapay zeka

AI'dan gelen yanıt

İteratörlerde next yöntemi, dizinin bir sonraki öğesini almakla ilgilidir. Genellikle, mevcut öğeyi döndürür ve dahili göstericiyi bir sonraki öğeye kaydırır. Eğer artık öğe yoksa, yöntem iterasyonun sonunu bildirmelidir (örneğin, Python'da StopIteration istisnası atmak veya özel bir değer döndürmek gibi).

Go'da, iteratörler Python'daki kadar açık şekilde uygulanmaz, ancak Next() bool yöntemiyle bir yapıyı oluşturabilir ve Value() T yöntemiyle geçerli değeri alabilirsiniz.

Go örneği:

package main
import "fmt"

type IntIterator struct {
    data []int
    pos  int
}

func (it *IntIterator) Next() bool {
    if it.pos < len(it.data) {
        it.pos++
        return true
    }
    return false
}

func (it *IntIterator) Value() int {
    return it.data[it.pos-1]
}

func main() {
    it := IntIterator{data: []int{10, 20, 30}}
    for it.Next() {
        fmt.Println(it.Value())
    }
}

Burada, Next konumu kaydırır ve bir sonraki öğe varsa true döner, Value ise mevcut öğeyi döner.