Menu
CoddyTech

struct sebagai class

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

Struct di Go memiliki tujuan yang sama dengan class dalam bahasa lain. Struct mengelompokkan data yang saling terkait ke dalam satu tipe.

Definisikan struct dengan beberapa tipe field

type Car struct {
    Brand string
    Model string
    Year  int
    Price float64
}

Buat instance menggunakan nama field

car := Car{
    Brand: "Toyota",
    Model: "Camry",
    Year:  2023,
    Price: 28000.50,
}

Akses dan ubah field

fmt.Println(car.Brand) // Toyota
fmt.Println(car.Year)  // 2023

car.Price = 27000.00   // Ubah nilai field
fmt.Println(car.Price) // 27000

Struct dapat berisi struct lain

type Engine struct {
    Horsepower int
    FuelType   string
}

type Car struct {
    Brand  string
    Model  string
    Engine Engine
}

car := Car{
    Brand:  "Ford",
    Model:  "Mustang",
    Engine: Engine{Horsepower: 450, FuelType: "Gasoline"},
}
fmt.Println(car.Engine.Horsepower) // 450

Struct mengelompokkan field terkait. Kamu mengakses field dengan operator titik, dan kamu bisa menyusun struct di dalam struct lain untuk membuat model data yang kompleks.

challenge icon

Tantangan

Sedang

Definisikan struct Profile dengan field berikut:

  • Name: string
  • Email: string
  • Age: int
  • Role: string

Coba sendiri

package main

import "fmt"

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

    p := Profile{
        Name:  name,
        Email: email,
        Age:   age,
        Role:  role,
    }

    fmt.Printf("Name: %s\n", p.Name)
    fmt.Printf("Email: %s\n", p.Email)
    fmt.Printf("Age: %d\n", p.Age)
    fmt.Printf("Role: %s\n", p.Role)
}
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