Menu
CoddyTech

Pengantar OOP di Go

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan GO di Coddy. Pelajaran 5 dari 107.

Go tidak memiliki class, tetapi Go menerapkan pemrograman berorientasi objek melalui struct dan method. Struct mengelompokkan data yang saling terkait, dan method menentukan perilaku yang terikat pada struct tersebut.

Definisikan struct untuk menyimpan data

type Dog struct {
    Name string
    Age  int
}

Tambahkan method ke struct

func (d Dog) Bark() string {
    return d.Name + " says Woof!"
}

Buat sebuah instance dan gunakan

package main

import "fmt"

type Dog struct {
    Name string
    Age  int
}

func (d Dog) Bark() string {
    return d.Name + " says Woof!"
}

func main() {
    myDog := Dog{Name: "Buddy", Age: 3}
    fmt.Println(myDog.Bark()) // output: Buddy says Woof!
    fmt.Println(myDog.Age)    // output: 3
}

Di Go, bagian (d Dog) sebelum nama method disebut receiver. Bagian ini menghubungkan method dengan struct Dog, mirip dengan cara method dimiliki oleh class dalam bahasa lain.

challenge icon

Tantangan

Mudah

Buat struct Cat dengan method untuk mempelajari pendekatan Go terhadap OOP:

  • Definisikan struct Cat dengan field Name (string) dan Age (int)
  • Tambahkan method Speak yang mengembalikan nama kucing diikuti " says Meow!"

Coba sendiri

package main

import "fmt"

func main() {
    var name string
    var age int
    fmt.Scan(&name, &age)

    cat := Cat{Name: name, Age: age}

    fmt.Printf("Name: %s\n", cat.Name)
    fmt.Printf("Age: %d\n", cat.Age)
    fmt.Println(cat.Speak())
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Go online