Fungsi Baru
Pelajaran 3 dari 19 dalam kursus Fungsi dan Pointer di Golang di Coddy.
Dalam pelajaran sebelumnya, kita belajar bahwa variabel adalah object atau ruang di memori yang memiliki nama yang menunjuk ke ruang tersebut.
Di Go, kita memiliki fungsi yang membuat ruang tanpa nama di memori, dan kita melakukannya dengan bantuan fungsi new(). Sintaksnya sebagai berikut:
coddy := new(string)Di sini, kita membuat object bernama coddy dengan tipe string, dan fungsi new() mengembalikan pointer ke object (ruang) tersebut.
Jika kita mencetak namanya, kita akan mendapatkan alamat memori ruang ini:
fmt.Println("Value:", coddy)Hasilnya akan seperti berikut:
Value: 0xc000014070Kita dapat menetapkan ulang nilai ke pointer ini seperti berikut:
coddy := new(string)
*coddy = "Learn To Code with coddy"
fmt.Println("Value:", *coddy)Hasilnya akan seperti berikut:
Value: Learn To Code with coddyPerhatikan bahwa saat kita membuat pointer dengan fungsi new(), nilai defaultnya bukan nil. Nilai tersebut bergantung pada tipenya, sama seperti variabel. Jika tipenya int, nilai defaultnya adalah 0; untuk string, nilainya adalah string kosong; dan untuk boolean, nilainya adalah false.
Tantangan
MudahTulis program yang menerima input dari pengguna dan melakukan hal berikut:
- Membuat pointer dengan tipe int menggunakan fungsi new().
- Mencetak nilai default pointer.
- Menetapkan nilai yang dimasukkan pengguna ke pointer tersebut.
- Mencetak nilai pointer setelah penetapan.
Coba sendiri
package main
import (
"fmt"
)
func main() {
// Ambil input dari pengguna. Jangan ubah ini!
var num int
fmt.Scanln(&num)
// Buat pointer bertipe int menggunakan fungsi new().
// Cetak nilai awal pointer.
fmt.Println("Default value of the pointer:", ?)
// Tetapkan nilai yang dimasukkan pengguna ke pointer tersebut.
// Cetak nilai pointer setelah ditetapkan.
fmt.Println("Value of the pointer after assignment:", ?)
}
Semua pelajaran di Fungsi dan Pointer di Golang
1Pengantar
Pengantar4Bangun Kembali Fungsi string Go
String di GolangFungsi JoinFungsi ContainsFungsi IndexTantangan Rekap #1Latihan sendiri: Compiler Go online