Arrays

Arrays #

//  Go မှာ _array_ length ဘယ်လောက်ရှိလဲဆိုတာသတ်မှတ်ပေးရတယ်။
// ပုံမှန် Go code တွေမှာ [slices](slices) တွေကိုအသုံးပြုကြတာများတယ်။
//  တချို့ special scenarios တွေမှာဆို arrays ကိုအသုံးပြုကြတယ်။

package main

import "fmt"

func main() {

	// ဒီမှာကျနော်တို့ array `a` ကိုကြေငြာထားတယ်၊ အဲ့ array ထဲမှာ `int` 5 ခုရှိတယ်။
	// array ထဲမှာပါတဲ့ elements တွေရဲ့ type နဲ့ length ကတော့ array ရဲ့ type ဖြစ်ပါတယ်။
	// array ရဲ့ default value က 0 ပါ။ array ထဲမှာဘာမှသတ်မှတ်ထားတာမရှိဘူးဆိုရင်
	// default 0 တခါထဲထည့်ပေးလိုက်မှာပါ။
	var a [5]int
	fmt.Println("emp:", a)

	// ကျနော်တို့ array ကို array index နဲ့ထောက်ပီးတော့ value ထည့်ပေးလို့ရတယ်။
	// `array[index] = value` ဒီလို syntax ကိုသုံးပြီးတော့ value ထည့်ပေးလို့ရသလို
	// `array[index]` ဒီလို syntax ကိုသုံးပြီးတော့ value ကိုရှာနိုင်ပါတယ်။
	a[4] = 100
	fmt.Println("set:", a)
	fmt.Println("get:", a[4])

	// builtin `len` ကတော့သိတဲ့အတိုင်း array ရဲ့ length ကိုရနိုင်ပါတယ်။
	fmt.Println("len:", len(a))

	// ဒီ syntax ကိုသုံးပီးတော့ array ကို declare/initialize
	// တကြောင်းထဲနှင့်သတ်မှတ်နိုင်ပါတယ်။
	b := [5]int{1, 2, 3, 4, 5}
	fmt.Println("dcl:", b)

	// Array type တွေက one-dimensional၊ ဒါပေမယ့် multi-dimensional
	// data structure တွေကိုလဲအသုံးပြုနိုင်ပါတယ်။
	var twoD [2][3]int
	for i := 0; i < 2; i++ {
		for j := 0; j < 3; j++ {
			twoD[i][j] = i + j
		}
	}
	fmt.Println("2d: ", twoD)
}
#  ဒီမှာတခုမှတ်ထားရမှာက ကျနော်တို့
#  fmt.Println` ကိုသုံပီးတော့ arrays တွေကို print
#  လုပ်ထားပီး `[v1 v2 v3 ...]` ပြောင်းသွားတယ်။
$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]