Pada artikel sebelumnya kita telah belajar apa itu access modifier pada bahasa pemrogaman go atau golang. apabila anda belum mengikuti artikel sebelumnya saya sarankan anda untuk membaca artikel sebelumnya tentang Golang – Access Modifier. Dan artikel kali ini kita akan belajar tentang package initialization pada bahasa pemrogaman go.
Pengenalan package initialization
Saat membuat package, kita bisa membuat sebuah function yang akan diakses ketika package kita diakses, ini sangat cocok contohnya, saat package kita berisi function-function untuk berkomunikasi dengan database, kita bisa membuat sebuah function inisialisasi untuk membuka koneksi ke database. Untuk membuat function yang diakses secara otomatis ketika package diakses, kita cukup membuat function dengan nama init
.
Kode program package initialization
Buat package baru dengan nama database
kemudian di dalam package tersebut buat juga file database.go
, kemudian isikan baris kode berikut
package database
var connection string
func init() {
connection = "MYSQL"
}
func GetDatabase() string {
return connection
}

Pada baris 3 kita membuat variable dengan nama connection
kemudian pada baris ke 5 kita membuat function init
dan function tersebut merubah isi variable connection
menjadi MYSQL
. Kemudian pada baris ke 9 kita juga membuat function GetDatabase
yang akan me return isi dari variable connection
.
Selanjutnya buat file baru yang nanti akan di gunakan untuk menjalankan package database
. Pada file tersebut isikan baris kode berikut.
package main
import (
"fmt"
"package-initialization/database"
)
func main() {
result := database.GetDatabase()
fmt.Println(result)
}

Setelah kita mengimport package database pada baris ke 5, selanjutnya coba jalankan function GetDatabase
dan simpan hasilnya pada variable result
, kemudian coba print isi variable result ke layar.

Bisa dilihat tanpa perlu merubah isi variable connection
secara manual, isinya sudah di rubah oleh function init
.
Blank identifier
Terkadang kita hanya ingin menjalankan init function di package tanpa harus mengeksekusi salah satu function di package, secara default golang akan komplen ketika ada package yang di import namun tidak digunakan. Untuk menangani hal tersebut kita bisa menggunakan blank identifier _
sebelum nama package ketika melakukan import. Contohnya seperti berikut

Penutup
Pada artikel kali ini kita telah belajar tentang package initialization pada bahasa pemrogaman golang. Dan pada artikel selanjutnya saya akan membahas beberapa Package bawaan pada golang.