Tipe data
Setiap nilai memiliki tipe datanya tersendiri yang menentukan bagaimana nilai akan diproses di dalam program.
Nilai yang disimpan di dalam komputer berbentuk byte dan penyimpan berbeda untuk bentuk nilai tertentu, maka tipe data memudahkan kita untuk mengambil dan memroses nilai yang disimpan.
Info: Nim adalah bahasa yang tipe bersifat statis, tipe perlu di tulis saat deklarasi variabel dan tidak pernah berubah setelahnya.
Tipe data dibagi menjadi 2 yaitu tipe data primitif dan tipe data buatan.
Tipe data primitif
Tipe data ini yang paling dasar dan tidak ada turunanya lagi.
Nama | Penulisan | Deskripsi |
---|---|---|
Integer | int | Tipe data ini untuk nilai angka seperti 1 ,3 ,-20 |
Float | float | Tipe data ini untuk nilai bilang pecahan seperti -1.32 ,3.14 |
String | string | Tipe data ini untuk nilai kumpulan karakter seperti "Nim keren" , "Hello, World" |
Bool | bool | Tipe data ini untuk nilai logika seperti True dan False |
Char | char | Tipe data ini untuk karakter tunggal seperti 'a' ,'\n' |
Berikut contohnya :
var umur : int = 26
var beratBadan : float = 52.3
var nama : string = "Gwen Adler"
var menikah : bool = false
var inisial : char = 'a'
Tipe data buatan
Tipe data ini hasil dari tipe yang kita deklarasi sendiri (pembahasan lebih lanjut di Enum dan Record). Tipe data buat kita bisa membuat gabungan tipe dari tipe dasar (tipe data komposit) atau tipe data dengan nilai khusus (tipe data enumerasi).
type StatusDaring* = enum
online | sibuk | idle | offline
type GithubAcc = object
username* string
status* StatusDaring
var akunKeren = GithubAcc(username: "artileda",status: StatusDaring.Sibuk)
Pro-tips : Nim bisa mengetahui tipe data dari nilai yang diberikan (Hindley-Milner type inference). Hal ini berguna untuk menghindari penulisan tipe yang berulang.