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.

NamaPenulisanDeskripsi
IntegerintTipe data ini untuk nilai angka seperti 1,3,-20
FloatfloatTipe data ini untuk nilai bilang pecahan seperti -1.32,3.14
StringstringTipe data ini untuk nilai kumpulan karakter seperti "Nim keren", "Hello, World"
BoolboolTipe data ini untuk nilai logika seperti True dan False
CharcharTipe 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.