İç İçe Döngüler
Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 49 / 109.
İç İçe Döngüler, başka bir döngünün içine yerleştirilmiş döngülerdir. İç döngü, dış döngünün her bir yinelemesi için tamamen çalışır.
İç içe döngüler kullanarak 1-3 arası sayılar için bir çarpım tablosu oluşturalım:
for i := 1; i <= 3; i++ {
for j := 1; j <= 3; j++ {
fmt.Printf("%d×%d=%d\t", i, j, i*j)
}
fmt.Println()
}Bu kodu çalıştırdıktan sonra, her satırın dış döngü değişkeninin (i) bir değerinin iç döngü değişkeninin (j) tüm değerleriyle çarpımını temsil ettiği bir çarpım tablosu elde ederiz. Çıktı ekranda şu şekilde görünecektir:
1×1=1 1×2=2 1×3=3
2×1=2 2×2=4 2×3=6
3×1=3 3×2=6 3×3=9 Bunun adım adım nasıl çalıştığını anlayalım:
İlk olarak, dış döngü i=1 değerini ayarlar ve iç döngü tamamen çalışır:
i=1, j=1: prints "1×1=1"
i=1, j=2: prints "1×2=2"
i=1, j=3: prints "1×3=3"İç döngü bittikten sonra, fmt.Println() ile yeni bir satır yazdırırız.
Ardından dış döngü i=2 değerini atar ve iç döngü tekrar çalışır:
i=2, j=1: prints "2×1=2"
i=2, j=2: prints "2×2=4"
i=2, j=3: prints "2×3=6"Son olarak, dış döngü i=3 değerini atar ve iç döngü son bir kez çalışır:
i=3, j=1: prints "3×1=3"
i=3, j=2: prints "3×2=6"
i=3, j=3: prints "3×3=9"İç içe döngülerin bu kalıbı, veri tablolarıyla çalışmak veya ızgara benzeri yapılar oluşturmak için çok yararlıdır.
Görev
BaşlangıçBu meydan okumada, basit bir desen yazdırmak için iç içe döngüleri kullanma pratiği yapacaksınız. Dış döngü satırlar boyunca ilerleyecek ve iç döngü, küçük bir karakter ızgarası oluşturmak için sütunlar boyunca ilerleyecektir.
3x3'lük bir yıldız (*) ızgarası yazdırmak için iç içe döngüleri tamamlayın. Her yıldızdan sonra bir boşluk gelmelidir, bu nedenle her satır * * * (sonda bir boşluk ile) şeklinde görünmelidir. Beklenen çıktı şöyledir:
* * * * * * * * *
Kopya kağıdı
İç içe döngüler, başka bir döngünün içine yerleştirilmiş döngülerdir. İç döngü, dış döngünün her bir yinelemesi için tamamen çalışır.
for i := 1; i <= 3; i++ {
for j := 1; j <= 3; j++ {
fmt.Printf("%d×%d=%d\t", i, j, i*j)
}
fmt.Println()
}Dış döngü satırları kontrol ederken, iç döngü sütunları kontrol eder. Her bir dış döngü yinelemesi için, iç döngü bir sonraki dış döngü yinelemesine geçmeden önce tüm yinelemelerini tamamlar.
Kendin dene
package main
import "fmt"
func main() {
// Izgaramızdaki satır ve sütun sayısı
rows := 3
columns := 3
// YAPILACAK: Yıldızlardan (*) oluşan bir ızgara yazdırmak için iç içe bir döngü oluşturun
// Dış döngü satırlar boyunca yinelenmelidir
// İç döngü sütunlar boyunca yinelenmelidir
for i := 0; i < rows; i++ {
// Her sütuna yıldız yazdırmak için iç döngünüzü buraya ekleyin
// Bu, her satırdan sonra yeni bir satır yazdırır
fmt.Println()
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Karşılaştırma ve Mantıksal Operatörler
Karşılaştırma Operatörleri - Bölüm 1Karşılaştırma Operatörleri - Bölüm 2Mantıksal VE OperatörüMantıksal VEYA OperatörüMantıksal DEĞİL OperatörüOperatör Önceliği TemelleriÖzet - Karşılaştırma Yapma7Kontrol Akışı: Döngüler
`for` Döngüsü Nedir?`for` Döngüsü - Temel`for` Döngüsü - Sadece Koşul`break` Anahtar Kelimesi`continue` Anahtar Kelimesiİç İçe DöngülerÖzet - İşlemleri Tekrarlama2Değişkenler ve Temel Veri Tipleri
Değişken nedir?`:=` ile Tür ÇıkarımıTam Sayılar (int)Ondalıklı SayılarBooleanlarStringlerSıfır DeğerlerSabitlerİsimlendirme KurallarıÖzet - Değişkenler ve Türler5Temel Giriş/Çıkış
Biçimlendirilmiş ÇıktıBiçim BelirteçleriVeri Tiplerini YazdırmaTemel Kullanıcı Girdisi AlmaÖzet - Giriş ve Çıkış8Fonksiyonlar
Fonksiyonları AnlamakFonksiyon TanımlamaFonksiyonları ÇağırmaFonksiyon ParametreleriTek Bir Değer DöndürmeBirden Fazla Değer Döndürmeİsimlendirilmiş Dönüş DeğerleriFonksiyon Kapsamı TemelleriÖzet - Yeniden Kullanılabilir Kod Oluşturma3Temel Operatörler
Aritmetik OperatörlerBölme OperatörüModulo OperatörüAtama OperatörüBileşik Atama OperatörleriArtırma ve AzaltmaÖzet - Hesaplamalar6Kontrol Akışı: Koşullu İfadeler
`if` İfadesi`else` Anahtar Kelimesi`else if` Anahtar Kelimesi`if` İçinde Değişken GölgelemeDeğişkenleri Başlatma`switch` İfadesiİfadeli `switch`İfadesiz `switch``fallthrough` Anahtar KelimesiÖzet - Karar Verme