Skip to main content

MAP Golang

map golang

MAP GOLANG

MAP adalah aneka koleksi pasangan kunci nilai yang tidak berurutan. Juga dikenal sebagai Array Asosiatif, tabel hash atau kamus. MAP digunakan untuk mencari nilai dengan kunci yang terkait. Berikut ini contoh MAP di Go  :
var x map [string] int
Type MAP diwakili oleh MAP kata kunci, diikuti oleh type kunci dalam tanda kurung dan akhirnya type nilai. Jika kamu membaca ini dengan bahasa manusia kamu bisa mengatakan "x adalah MAP string ke int."

Seperti MAP Array dan Sice dapat diakses menggunakan tanda kurung. Coba jalankan program berikut,KLIK DISINI UNTUK MENCOBANYA:
package main
import (
"fmt"
)
var x map [string]
int x ["key"] = 10
fmt.Println (x)
}
map golang

Kamu seharusnya melihat kesalahan yang seprti ini:
prog.go:27:20: syntax error: unexpected newline, expecting typeprog.go:28:1: syntax error: non-declaration statement outside function body
Saat ini kamu hanya melihat kesalahan waktu kompilasi. Ini adalah contoh kesalahan runtime. Seperti namanya akan menyiratkan, kesalahan runtime terjadi ketika kamu menjalankan program, sementara kesalahan waktu kompilasi terjadi ketika kamu mencoba untuk mengkompilasi program.

Masalah dengan program disini adalah MAP harus diinisialisasi sebelum bisa digunakan. Kita seharusnya mengcoding seperti ini:
package main
import (
"fmt"
)
func main() {
x:=make(map [string] int)
x ["key"] = 10
fmt.Println (x ["key"])
}
map golang

Jika kamu menjalankan program ini, kamu akan melihat 10 ditampilkan. Pernyataan x ["key"] = 10 mirip dengan apa yang kita lihat dengan Array tetapi kuncinya bukannya integer, tetapi string karena jenis kunci MAP adalah string. Kamu juga dapat membuat peta dengan jenis kunci int seperti ini :
package main
import (
"fmt"
)
func main() {
x:=make (map[int]int)
x [1] = 10
fmt.Println (x [1])
}
map golang

Ini terlihat sangat mirip dengan array tetapi ada beberapa perbedaan. 
  • Pertama pada panjang MAP ,Array harus ditentukan dengan melakukan len(x), tetapi pada MAP tidak dan dapat berubah ketika kita menambahkan item baru ke dalamnya. Ketika pertama kali dibuat memiliki panjang 0, setelah x [1] = 10 memiliki panjang 1. 
  • Kedua MAP tidak berurutan. Kita memiliki x [1], dan dengan larik yang menyiratkan harus ada x [0], tetapi peta tidak memiliki persyaratan ini.

Kamu juga dapat menghapus item dari MAP menggunakan fungsi hapus bawaan:
delete(x, 1)
Mari kita lihat contoh program lain yang menggunakan peta:
package main
import "fmt"
func main() {
elements := make(map[string]string)
elements["H"] = "Hydrogen"
elements["He"] = "Helium"
elements["Li"] = "Lithium"
elements["Be"] = "Beryllium"
elements["B"] = "Boron"
elements["C"] = "Carbon"
elements["N"] = "Nitrogen"
elements["O"] = "Oxygen"
elements["F"] = "Fluorine"
elements["Ne"] = "Neon"
fmt.Println(elements["Li"])
}
map golang

Elemen adalah MAP yang mewakili 10 unsur pertama yang diindeks oleh simbolnya. Ini adalah cara yang sangat umum menggunakan MAP: sebagai tabel pencarian atau kamus. Misalkan kita mencoba mencari elemen yang tidak ada:
fmt.Println (elemen ["Un"])
Jika kamu menjalankan ini, Kamu akan melihat undefined: elemen. Secara teknis, sebuah MAP mengembalikan nilai nol untuk jenis nilai (untuk string adalah string kosong). Meskipun kita dapat memeriksa nilai nol dalam suatu kondisi (elemen ["Un"] == "") Go menyediakan cara yang lebih baik:
name, ok:= elements ["Un"]
fmt.Println (name, ok)
map

atau ini
map


Mengakses elemen map dapat mengembalikan dua nila. Nilai pertama adalah hasil pencarian, yang kedua memberitahu kita apakah pencarian berhasil atau tidak. Di Go, kita sering melihat kode seperti ini:
if name, ok := elements["Un"]; ok {
fmt.Println(name, ok) }
Pertama kita mencoba mendapatkan nilainya dari map, maka jika berhasil kita menjalankan kode di dalam blok.

Seperti yang kita lihat dengan array, ada juga cara yang lebih pendek untuk membuat map :
package main
import "fmt"
func main() {
elements := map[string]string{
"H": "Hydrogen",
"He": "Helium",
"Li": "Lithium",
"Be": "Beryllium",
"B": "Boron",
"C": "Carbon",
"N": "Nitrogen",
"O": "Oxygen",
"F": "Fluorine",
"Ne": "Neon", }
fmt.Println(elements["Li"])
name, ok:= elements ["Li"]
fmt.Println (name, ok)
}
map
MAP juga sering digunakan untuk menyimpan informasi umum. Mari kita memodifikasi program kita sehingga hanya menyimpan nama elemen, kita menyimpan status standarnya juga:
package main
import "fmt"
func main() {
elements := map[string]map[string]string{
"H": map[string]string{
"name":"Hydrogen",
"state":"gas", },
"He": map[string]string{
"name":"Helium",
"state":"gas", },
"Li": map[string]string{
"name":"Lithium",
"state":"solid", },
"Be": map[string]string{
"name":"Beryllium",
"state":"solid", },
"B":  map[string]string{
"name":"Boron",
"state":"solid", },
"C":  map[string]string{
"name":"Carbon",
"state":"solid", },
"N":  map[string]string{
"name":"Nitrogen",
"state":"gas", },
"O":  map[string]string{
"name":"Oxygen",
"state":"gas", },
"F":  map[string]string{
"name":"Fluorine",
"state":"gas", },
"Ne":  map[string]string{
"name":"Neon",
"state":"gas", },
}
if el, ok := elements["Li"];
ok {
fmt.Println(el["name"],
el["state"]) }
}
Perhatikan bahwa jenis MAP telah berubah
map [string] string untuk memetakan [string] petakan string [string]. 

Kita sekarang memiliki map string untuk memetakan string ke string. map luar digunakan sebagai tabel pencarian berdasarkan simbol elemen, sedangkan map bagian dalam digunakan untuk menyimpan informasi umum tentang elemen. .



MATERI GOLANG

Jika kamu baru di pembelajaran golang, silakan untuk belajar dari materi pertama 

Comments

Popular posts from this blog

Menambahkan Peraturan Komentar Pada Blog

Menambahkan Peraturan Komentar Pada Blog : Ngblog Menulis sebuah artikel dan dikomentari dengan link aktif/promosi produk dan kata kata spam lainnya memang tidak mengenakan anda mungkin akan sangat merasa kecewa sekali, anda mungkin seperti menulis sebuah artikel namun tidak dihargai karyanya oleh orang lain. Mungkin membuat aturan berkomentar di blog adalah salah 1 cara menetralisirnya, mungkin jika ada aturan tersebut orang berpikir 2 kali untuk meninggalkan komentar Spam, lalu bagaimana cara membuat aturan komentar tersebut? langsung saja kita praktekan Ikuti langkah berikut : Login ke bloger,masuk ke blog yang anda inginkan, Klik Setelan -> POS-KOMENTAR   Scroll kebawah dan cari menu "pesan formulir komentar" klik tambahkan , dan isi kolom sesuai keinginan kalian atau peraturan yang kalian inginkan.  Setelah selesai silakan klik simpan setelan dipojok kanan atas. Lihat hasilnya di blog kalian ,akan seperti ini : Jika ada pertanyaan...

Traha Infinity a lancé une campagne événementielle de pré-inscription

Moai Games a officiellement annoncé la sortie d’ un  nouveau  MMORPG  intitulé  Traha Infinity , dans la première moitié de 2022. Ce jeu mobile devrait se dérouler 200 ans avant les événements des précédents jeux  Traha , il a  des  graphismes  Full 3D  et optimisés performances haut de gamme pour smartphones. Traha a  été un énorme succès en Corée avec 4,2 millions de précommandes avant sa sortie officielle en 2019, le jeu mobile n’a jamais eu de sortie mondiale. Ce jeu a été développé par Moai Games et publié par  Nexon , et est devenu l’un des jeux les plus vendus de l’époque. Et maintenant,  Traha Infinity  continuera le même monde comme une suite, plutôt une préquelle. Le nouveau jeu présentera la même vision du monde et la même topographie que le jeu précédent, mais présentera un nouveau scénario. Ils se vantent d’ une qualité graphique  Full 3D haut  de gamme ainsi que d’un système optimisé pour les smartphones. Les joueurs pourront explorer l...

Kumpulan Script Jail Batch dan VBS

Kumpulan Script Jail Batch dan VBS Hallo pembaca fajaryusuf.com. Kali ini saya akan berbagi Kumpulan Script Jail Menggunakan Notepad. Script berikut hanya untuk jahil.. Untuk membuat script ini aktif yang Anda butuhkan adalah : 1. Notepad 2. PC/Laptop 3. Nah sekarang tinggal copy paste scriptnya ke notepad,, langsung saja dicoba : MESSAGES YG NONGOL TERUS MENERUS SECARA OTOMATIS @ECHO off :Begin msg * muka lo jelek msg * ngaca dulu gih msg * hayo lo,cpu lu gw acak2 msg * ud install ulang aja msg * biar masalah nya kelar GOTO BEGIN Save nama script diatas dg ekstensi *.bat BIKIN SHUTDOWN + MESSAGES @echo off msg * apaan sih lo shutdown -s -c "Error! muka mu standar abis" Save nama script diatas dg ekstensi *.bat MAININ CAPS LOCK BUTTON Set wshShell =wscript.CreateObject ("WScript.Shell") do wscript.sleep 100 wshshell.sendkeys "{CAPSLOCK}" loop Save nama script diatas dg ekstensi *....