Go 101 ตัวแปรในภาษาโก (Go Variables)

golang-ep3

บทความก่อนหน้านี้เราได้ทำการติดตั้งภาษาโก และติดตั้ง VSCode เครื่องมือสำหรับการเขียนโปรแกรมพร้อมกับเขียนและรันโปรแกรม Hello World ตามธรรมเนียมกันไปแล้วนั้น บทความนี้เราก็มาต่อด้วยเรื่องตัวแปรในภาษาโก (Variables) หลักการประกาศตัวแปร การกำหนดค่าให้ตัวแปร และชนิดข้อมูล ของภาษาโกกัน.

1.การประกาศตัวแปร (Declaration)

รูปแบบ var variable type เริ่มต้นด้วย var ตามด้วยชื่อตัวแปร และชนิดข้อมูลของตัวแปรเช่น ตัวอักษร ตัวเลข

package main

import "fmt"

func main() {

	var name string 
	var age int

	var firstName,lastName,address string

}
  • จากบรรทัดที่ 7 ประกาศตัวแปรชื่อ name เป็นชนิด string เอาไว้เก็บข้อมูลประเภทตัวอักษร เช่น “DekDoyDev”
  • จากบรรทัดที่ 8 ประกาศตัวแปรชื่อ age เป็นชนิด int เอาไว้เก็บข้อมูลตัวเลขจำนวนเต็ม เช่น 99
  • จากบรรทัดที่ 10 ประกาศตัวแปรชื่อ firstName, lastName, address ทั้ง 3 ตัวแปรเป็นชนิด string เอาไว้เก็บข้อมูลตัวอักษร เป็นการประกาศตัวแปรหลายๆตัวแปรที่เป็นชนิดเดียวกันพร้อมกันได้เลย

2.การกำหนดค่าให้ตัวแปร (Assignment)

การกำหนดค่าให้ตัวแปรในภาษาโกใช้เครื่องหมายเท่ากับ =

package main

import "fmt"

func main() {

	var name string 
	var age int = 39

	var firstName,lastName,address string

	name = "DekDoyDev"
	age = 39
}
  • จากบรรทัดที่ 12 เป็นการกำหนดค่าให้ตัวแปรชื่อ name ให้มีค่าเท่ากับ “DekDoyDev” ซึ่งเป็นข้อมูลตัวอักษร
  • จากบรรทัดที่ 13 เป็นการกำหนดค่าให้ตัวแปรชื่อ age ให้มีค่าเท่ากับ 39 ซึ่งเป็นจำนวนตัวเลขจำนวนเต็ม

3.การประกาศตัวแปรพร้อมกำหนดค่า

package main

import "fmt"

func main() {

	var name string = "DekDoyDev"
	var age int = 39

	var firstName,lastName,address string = "DekDoyDev.Com","GO101","123/4 Chiangrai"

	var province = "Chiangrai"
    var price = 200

}
  • จากบรรทัดที่ 7 เป็นการประกาศตัวแปรชื่อ name เป็นชนิด string พร้อมกำหนดค่าให้เท่ากับ “DekDoyDev”
  • จากบรรทัดที่ 8 เป็นการประกาศตัวแปรชื่อ age เป็นชนิด int ตัวเลขจำนวนเต็ม พร้อมกำหนดค่าให้เท่ากับ 39
  • จากบรรทัดที่ 10 เป็นการประกาศตัวแปรชื่อ firstName เป็นชนิด string พร้อมกำหนดค่าให้เท่ากับ “DekDekDev.Com”
  • จากบรรทัดที่ 10 เป็นการประกาศตัวแปรชื่อ lastName เป็นชนิด string พร้อมกำหนดค่าให้เท่ากับ “GO101”
  • จากบรรทัดที่ 10 เป็นการประกาศตัวแปรชื่อ address เป็นชนิด string พร้อมกำหนดค่าให้เท่ากับ “123/4 Chaingrai”
  • จากบรรทัดที่ 12 และ 13 จะสังเกตุได้ว่าไม่ได้กำหนดชนิดข้อมูลซึ่งสามารถทำได้โดยภาษาโกจะกำหนดให้อัตโนมัติตามค่าที่เรากำหนดในที่นี้ province จะเป็นชนิด string และมีค่าเท่ากับ “Chaingrai” และ price เป็นชนิด int มีค่าเท่ากับ 200

4.การประกาศตัวแปรพร้อมกำหนดค่าอย่างสั้น (ชอบมากๆ)

ด้วยเครื่องหมาย  := ทำให้เราสามารถประกาศตัวแปรพร้อมกำหนดค่าอย่างสั้นได้ง่ายๆ

package main

import "fmt"

func main() {

	name := "DekDoyDev"
	age  := 39

	firstName,lastName,address := "DekDoyDev.Com","GO101","123/4 Chiangrai"

	province := "Chiangrai"
    price := 200.55

}
  • จากบรรทัดที่ 7 ไม่ต้องมี var นำหน้า name ก็มีค่าเท่ากับ var name = “DekDoyDev” รวมถึงบรรทัดที่ 8 – 12
  • จากบรรทัดที่ 13 ประกาศตัวแปร price ให้มีค่าเท่ากับ 200.55 เป็นชนิด float64 ซึ่งเป็นจำนวนทศนิยม

5.การประกาศตัวแปรแบบ Block

package main

import "fmt"

func main() {

	var (
		name     = "DekDoyDev"
		age      = 39
		province = "Chiangrai"
		price    = 200.55
	)
	
}
  • ด้วยการประกาศ var ( … ) จากบรรทัดที่ 7 – 12 เป็นการประกาศตัวแปรและกำหนดค่าไว้ใน block ซึ่งส่วนตัวชอบรูปแบบนี้เพราะอ่านโค๊ดง่ายดูเป็นระเบียบ

สรุปโค๊ดตัวอย่างพร้อมรันดูผลลัพธ์

package main

import "fmt"

func main() {

	var company string 
	company = "Huajaiit"

	i := 6789

	firstName,lastName,address  := "DekDoyDev.Com","GO101","123/4 Chiangrai"

	var (
		name     = "DekDoyDev"
		age      = 39
		province = "Chiangrai"
		price    = 200.55
	)

	fmt.Printf("company = %s\n", company)
	fmt.Printf("i = %d\n",i)
	fmt.Println(firstName,lastName,address)
	fmt.Println(name)
	fmt.Println(age)
	fmt.Println(province)
	fmt.Printf("price = %g\n",price)
	
}
  • จากตัวอย่าง โค๊ดบรรทัดที่ 7 – 19 จะเป็นการแสดงตัวอย่าง
    • การประกาศตัวแปร
    • การกำหนดค่าตัวแปร
    • การประกาศตัวแปรและกำหนดค่าตัวแปร
    • การประกาศตัวแปรและกำหนดค่าตัวแปร หลายๆตัวพร้อมๆกัน
    • การประกาศตัวแปรใน block
  • จากบรรทัดที่ 21 – 27 เป็นการแสดงข้อมูลของตัวแปรออกมายัง TERMINAL ของ VSCode

สรุปหลักการประกาศตัวแปร การกำหนดค่าให้ตัวแปร ชนิดข้อมูลตัวแปร หวังว่าจะมีประโยชน์บ้างสำหรับคนที่สนใจนะครับ.