Tipe Data #
Tentu, mari kita lanjutkan dengan lebih detail tentang berbagai tipe data di Golang dengan contoh penggunaannya dan deskripsinya:
Boolean #
Tipe data bool
digunakan untuk menyimpan nilai boolean, yaitu true
atau false
.
package main
import "fmt"
func main() {
var isActive bool = true
fmt.Println(isActive) // Output: true
}
Numerik #
Integer #
Integer dapat berupa signed (int
, int8
, int16
, int32
, int64
) dan unsigned (uint
, uint8
, uint16
, uint32
, uint64
, uintptr
).
package main
import "fmt"
func main() {
var age int = 30
fmt.Println(age) // Output: 30
var uAge uint = 30
fmt.Println(uAge) // Output: 30
}
Float #
Tipe data float32
dan float64
digunakan untuk menyimpan angka desimal.
package main
import "fmt"
func main() {
var pi float64 = 3.14
fmt.Println(pi) // Output: 3.14
}
Complex #
Tipe data complex64
dan complex128
digunakan untuk menyimpan bilangan kompleks.
package main
import "fmt"
func main() {
var z complex128 = 1 + 2i
fmt.Println(z) // Output: (1+2i)
}
String #
Tipe data string
digunakan untuk menyimpan urutan karakter Unicode.
package main
import "fmt"
func main() {
var greeting string = "Hello, World!"
fmt.Println(greeting) // Output: Hello, World!
}
Array #
Array adalah koleksi elemen dengan panjang tetap dan tipe yang sama.
package main
import "fmt"
func main() {
var arr [3]int = [3]int{1, 2, 3}
fmt.Println(arr) // Output: [1 2 3]
}
Slice #
Slice adalah koleksi elemen dengan panjang yang dapat berubah dan tipe yang sama.
package main
import "fmt"
func main() {
var s []int = []int{1, 2, 3}
s = append(s, 4)
fmt.Println(s) // Output: [1 2 3 4]
}
Map #
Map adalah koleksi pasangan kunci-nilai.
package main
import "fmt"
func main() {
var m map[string]int = map[string]int{"one": 1, "two": 2}
fmt.Println(m) // Output: map[one:1 two:2]
}
Struct #
Struct adalah kumpulan field yang dikelompokkan bersama.
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
var p Person = Person{Name: "Alice", Age: 25}
fmt.Println(p) // Output: {Alice 25}
}
Pointer #
Pointer menyimpan alamat memori dari variabel.
package main
import "fmt"
func main() {
var x int = 10
var p *int = &x
fmt.Println(p) // Output: memory address of x
fmt.Println(*p) // Output: 10
}
Function #
Tipe data untuk mendefinisikan fungsi atau metode.
package main
import "fmt"
func add(a int, b int) int {
return a + b
}
func main() {
result := add(1, 2)
fmt.Println(result) // Output: 3
}
Interface #
Interface adalah tipe data abstrak yang menentukan serangkaian metode.
package main
import "fmt"
type Describer interface {
Describe() string
}
type Book struct {
Title string
}
func (b Book) Describe() string {
return "Book: " + b.Title
}
func main() {
var d Describer = Book{Title: "1984"}
fmt.Println(d.Describe()) // Output: Book: 1984
}
Channel #
Channel digunakan untuk komunikasi antar goroutine.
package main
import "fmt"
func main() {
ch := make(chan int)
go func() {
ch <- 1
}()
fmt.Println(<-ch) // Output: 1
}
Kesimpulan #
Dengan memahami tipe data ini, Anda dapat lebih efektif dalam menulis dan memahami kode Golang.