Go Academy · Pelajaran

Pernyataan if dan Ekspresi Init

Kondisional dengan pernyataan init opsional

Pelajaran 1 dari 412 langkah

Pernyataan if dan Ekspresi Init adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.

if di Go

Pernyataan if Go mengevaluasi ekspresi boolean — tanda kurung tidak diperlukan, tetapi kurawal wajib digunakan:

if x > 0 {
    // positive
}

else dan else if

Rangkai kondisi dengan else if dan tangani pilihan cadangan dengan else:

func classify(n int) string {
    if n < 0 {
        return "negative"
    } else if n == 0 {
        return "zero"
    } else {
        return "positive"
    }
}

if dengan Pernyataan Inisialisasi

Go mengizinkan pernyataan inisialisasi opsional sebelum kondisi — sangat sesuai untuk membatasi lingkup variabel sementara:

if err := doSomething(); err != nil {
    // err is only in scope here
    return err
}

Pembatasan Lingkup dengan Pernyataan Inisialisasi

Variabel yang dideklarasikan dalam pernyataan inisialisasi memiliki lingkup pada blok if/else. Hal ini mencegah variabel bocor ke fungsi di sekitarnya:

func process(id int) error {
    if val, err := lookup(id); err != nil {
        return err
    } else {
        use(val) // val is in scope here
    }
    return nil
}

Ekspresi Boolean

Kondisi Go harus berupa bool — tidak ada konversi implisit:

  • Valid: if count != 0
  • Tidak valid: if count — kesalahan kompilasi di Go (berbeda dari C/JavaScript)
  • Hal ini mencegah bug umum berupa kesalahan batas dan dereferensi nil

Pemeriksaan Nil

Periksa pointer, irisan, peta, dan error yang bernilai nil dengan == nil:

func greet(name *string) string {
    if name == nil {
        return "Hello, stranger"
    }
    return "Hello, " + *name
}

Pola Pengembalian Dini

Go sangat menganjurkan pengembalian dini untuk mengurangi penyarangan ("alur utama" tetap berada di margin kiri):

func save(user User) error {
    if user.Name == "" {
        return errors.New("name required")
    }
    if user.Age < 0 {
        return errors.New("invalid age")
    }
    return db.Insert(user)
}

Menggabungkan Kondisi

Gunakan && dan || untuk menggabungkan kondisi. Evaluasi hubung-singkat berlaku — sisi kanan hanya dievaluasi jika diperlukan:

if user != nil && user.IsActive() {
    sendEmail(user)
}

if dibandingkan dengan switch

Jika Anda memiliki banyak kondisi pada variabel yang sama, switch biasanya lebih rapi. Gunakan if ketika:

  • Kondisinya merupakan ekspresi boolean yang independen
  • Anda memerlukan pernyataan inisialisasi dengan pemeriksaan error
  • Anda hanya memiliki 1–2 cabang

Menghindari Piramida if-else

Blok if-else yang tersarang terlalu dalam menyulitkan pembacaan. Atasi hal ini dengan:

  • Pengembalian dini
  • Pernyataan switch untuk beberapa kasus
  • Memecah logika menjadi fungsi-fungsi yang lebih kecil
  • Klausa penjaga di bagian awal fungsi

Pemeriksaan Singkat

Apa yang unik dari pernyataan if Go jika dibandingkan dengan C?

Ringkasan: Pernyataan if

Pernyataan if Go kuat dan rapi:

  • Tidak ada tanda kurung di sekitar kondisi — kurawal wajib digunakan
  • Pernyataan inisialisasi membatasi lingkup variabel pada blok if/else
  • Kondisi harus benar-benar bertipe bool
  • Utamakan pengembalian dini daripada penyarangan yang dalam
  • Gunakan &&/|| dengan evaluasi hubung-singkat

Berikutnya: perulangan for Go yang serbaguna.

Gratis untuk memulai

Belajar Go dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
51
Pelajaran
203

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pernyataan if dan Ekspresi Init” gratis?

Ya — teks lengkap “Pernyataan if dan Ekspresi Init” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pernyataan if dan Ekspresi Init”?

Kondisional dengan pernyataan init opsional Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Go Academy?

Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Pernyataan if dan Ekspresi Init” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?

Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pernyataan if dan Ekspresi Init
  2. Perulangan for: Semua Pola
  3. Pernyataan switch di Go
  4. break, continue, dan Label
← Kembali ke Go Academy