Go by Example မြန်မာဘာသာ: Number Parsing

String တွေကနေ နံပါတ်တွေကို parse လုပ်တာဟာ ပရိုဂရမ်အများစုမှာ အခြေခံကျပေမယ့် အဖြစ်များတဲ့ လုပ်ငန်းတစ်ခုပါ။ Go မှာ အဲဒါကို ဘယ်လိုလုပ်မလဲဆိုတာ ဒီမှာရှိပါတယ်။

package main

Built-in package ဖြစ်တဲ့ strconv က နံပါတ် parsing ကို ပေးပါတယ်။

import (
    "fmt"
    "strconv"
)

ParseFloat မှာ ဒီ 64 က ဘယ်နှစ် bit တိကျမှုနဲ့ parse လုပ်မလဲဆိုတာကို ပြောပြပါတယ်။

func main() {
    f, _ := strconv.ParseFloat("1.234", 64)
    fmt.Println(f)

ParseInt မှာ 0 က string ကနေ အခြေကိန်းကို မှန်းဆဖို့ ဆိုလိုပါတယ်။ 64 က ရလဒ်က 64 bit ထဲ ဝင်ဆံ့ရမယ်လို့ သတ်မှတ်ပါတယ်။

    i, _ := strconv.ParseInt("123", 0, 64)
    fmt.Println(i)

ParseInt က ဆယ့်ခြောက်လုံးစနစ် ဖော်မတ်နဲ့ နံပါတ်တွေကို အသိအမှတ်ပြုပါတယ်။

    d, _ := strconv.ParseInt("0x1c8", 0, 64)
    fmt.Println(d)

ParseUint လည်း ရနိုင်ပါတယ်။

    u, _ := strconv.ParseUint("789", 0, 64)
    fmt.Println(u)

Atoi က အခြေ-10 int parsing အတွက် အဆင်ပြေတဲ့ function တစ်ခုပါ။

    k, _ := strconv.Atoi("135")
    fmt.Println(k)

Parse function တွေက မှားယွင်းတဲ့ input ပေါ်မှာ error တစ်ခု ပြန်ပေးပါတယ်။

    _, e := strconv.Atoi("wat")
    fmt.Println(e)
}
$ go run number-parsing.go 
1.234
123
456
789
135
strconv.ParseInt: parsing "wat": invalid syntax

နောက်တစ်ဆင့်မှာတော့ နောက်ထပ် အသုံးများတဲ့ parsing လုပ်ငန်းတစ်ခုဖြစ်တဲ့ URL တွေကို ကြည့်ကြပါမယ်။

နောက်ဥပမာ: URL Parsing.