Apa Itu Interface?
Termasuk bagian Logika & Alur dalam perjalanan GO di Coddy. Pelajaran 12 dari 68.
Interface di Go seperti kontrak yang menentukan perilaku apa saja yang harus dimiliki suatu tipe, tanpa menentukan cara perilaku tersebut diimplementasikan. Anggap saja interface sebagai kumpulan signature method yang menjelaskan apa yang dapat dilakukan sesuatu.
Untuk memahami antarmuka dengan lebih baik, bayangkan stopkontak di rumahmu.
Stopkontak memiliki bentuk tertentu dan menyediakan listrik, tetapi tidak peduli perangkat apa yang kamu colokkan. Baik itu lampu, pengisi daya ponsel, maupun komputer, perangkat apa pun yang memiliki bentuk colokan yang sesuai dapat tersambung dan menerima daya. Stopkontak mendefinisikan "interface", yaitu persyaratan untuk tersambung.
Di Go, interface bekerja dengan cara yang serupa. Interface mendefinisikan sekumpulan tanda tangan method yang harus dimiliki suatu tipe agar dapat “terhubung” dengan interface tersebut. Tipe apa pun yang memiliki semua method yang diwajibkan secara otomatis memenuhi interface tersebut, terlepas dari hal lain yang mungkin dilakukan tipe itu atau cara tipe itu mengimplementasikan method tersebut.
Konsep ini sangat bermanfaat karena memungkinkan kamu menulis kode yang bekerja dengan tipe apa pun yang dapat melakukan perilaku tertentu, sehingga programmu lebih fleksibel dan dapat digunakan kembali. Sama seperti berbagai perangkat yang dapat menggunakan stopkontak yang sama, berbagai tipe Go dapat memenuhi interface yang sama selama memiliki method yang diperlukan.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
1Alur Kontrol Lanjutan
switch dengan `fallthrough`Keluar dari Perulangan BersarangMelanjutkan Perulangan TertentuPernyataan `goto`Rangkuman, Kontrol Perulangan Lanjutan4Proyek: Daftar Tugas Sederhana
Menyiapkan ProyekMenambahkan Tugas2Struct dan Method
Mendefinisikan Method pada StructPenerima NilaiPenerima PointerMemilih PenerimaMethod vs FungsiRekap: Perilaku Struct5Map secara Mendalam
Map Berisi StructPointer sebagai Nilai MapMenguji Map NilMembandingkan MapRingkasan: Penghitung Frekuensi Kata8Proyek: Inventaris Sederhana
Gambaran Umum ProyekMemeriksa Stok3Interface (Dasar)
Apa Itu Interface?Mendefinisikan InterfaceMengimplementasikan InterfaceMenggunakan Tipe InterfaceInterface KosongType AssertionType SwitchRingkasan: Bentuk dan PerilakuLatihan sendiri: Compiler Go online