ตอนนี้เราจะมาศึกษาเรื่อง Variable หรือ var กัน
Variable Declaration การประกาศตัวแปร
var someInteger int var someText string var someDecimal float64 var one, two, three int var ( pass bool fail bool ) |
Variable Declaration with Initialization การประกาศตัวแปรและกำหนดค่าเริ่มต้น
var someInteger int = 10 var someText string = "hello" var someDecimal = 88.88 var one, two, three = 1, 2, "three" var ( pass bool = true fail = false ) |
ข้อสังเกต: var someDecimal = 88.88
ไม่ต้องระบุ type ก็ได้?
Short Variable Declaration การประกาศตัวแปรแบบสั้นโดยกำหนดค่าเริ่มต้น เพื่อกำหนด Type โดยปริบาย
someInteger := 10 someText := "hello" someDecimal := 88.88 one, two, three := 1, 2, "three" |
หมายเหตุ: เราสามารถเขียนแบบนี้ได้เฉพาะใน Function เท่านั้น
Package Scope Variable ตัวแปรระดับ Package
1 2 3 4 5 6 7 8 9 10 11 12 13 | package main import ( "fmt" ) var packageVar = "some text" var anotherPackageVar = "another " + packageVar func main() { fmt.Println(packageVar) fmt.Println(anotherPackageVar) } |
Function Scope Variable ตัวแปรระดับ Function
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package main import ( "fmt" ) func main() { var funcVar = "some text" fmt.Println(funcVar) subFunc("another text") } func subFunc(myVar string) { //Cannot access 'funcVar' from here fmt.Println(myVar) } |
หมายเหตุ: myVar string
เป็น Variable ที่เป็น Parameter ของ subFunc()
และเป็นตัวแปรระดับ Function
Braces Scope Variable ตัวแปรระดับวงเล็บ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package main import ( "fmt" ) func main() { { var bracesVar = "some text" fmt.Println(bracesVar) } if true { var bracesVar = "another text" fmt.Println(bracesVar) } //Cannot access 'bracesVar' from here } |
ติดตามต่อตอนหน้า มาดู Basic Types กัน