บทความนี้เราจะมาทำความเข้าใจในเรื่องค่าคงที่ในภาษาโก เช่น 30 , 100.88 , 0x23FF , 056 , “DekDoyDev” เหล่านี้คือค่าคงที่คือค่าที่เราไม่สามารถเปลี่ยนแปลงมันได้ (fixed value) ซึ่งเราจะได้นำมาใช้ในการเขียนโปรแกรมภาษาโก สัญลักษณ์ต่างๆในการใช้ร่วมกับค่าคงที่ (constants) เช่น 0x , 0X , e (exponential) และ comments ในภาษาโก
1. เลขฐาน 10 (Decimal), เลขฐาน 8 (Octal), เลขฐาน 16 (Hexadecimal)
เลขฐาน | สัญลักษณ์ | ตัวเลขที่มีได้ | ข้อสังเกตุ | ตัวอย่าง |
เลขฐาน 8 (Octal) | 0 | 0,1,2,3,4,5,6,7 | มี 0 นำหน้า | 027, 056, 030 |
เลขฐาน 10 (Decimal) | 0,1,2,3,4,5,6,7,8,9 | 10, 99, 6656 | ||
เลขฐาน 16 (Hexadecimal) | 0X | 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F | มี 0x นำหน้า | 0x10FE, 0xA012F, 0xABCD |
ตัวอย่าง
package main import ( "fmt" ) func main() { age1 := 39 age2 := 99 number1 := 011 number2 := 017 number3 := 0x11 price1 := 3.145687 price2 := 2.2e5 price3 := 12e-1 name := "DekDoyDev" fmt.Println("age1 = ",age1) fmt.Println("age2 = ",age2) fmt.Println("number1 = ",number1) fmt.Println("number2 = ",number2) fmt.Println("number3 = ",number3) fmt.Println("price1 = ",price1) fmt.Println("price2 = ",price2) fmt.Println("price3 = ",price3) fmt.Println("name = ",name) }
- บรรทัดที่ 9-10 ประกาศตัวแปรพร้อมกำหนดค่าเป็นเลขฐาน 10 มีค่าเท่ากับ 39 และ 99
- บรรทัดที่ 12 ประกาศตัวแปรพร้อมกำหนดค่าด้วยเลขฐาน 8 => 011 หากแปลงค่าออกมาเป็นเลขฐาน 10 แล้วจะได้ค่าเท่ากับ 9
- บรรทัดที่ 13 ประกาศตัวแปรพร้อมกำหนดค่าด้วยเลขฐาน 8 => 017 หากแปลงค่าออกมาเป็นเลขฐาน 10 แล้วจะได้ค่าเท่ากับ 15
- บรรทัดที่ 14 ประกาศตัวแปรพร้อมกำหนดค่าด้วยเลขฐาน 16 => 0x17 หากแปลงค่าออกมาเป็นเลขฐาน 10 แล้วได้ค่าเท่ากับ 17
- บรรทัดที่ 16 ประกาศตัวแปรพร้อมกำหนดค่าเท่ากับ 3.145687
- บรรทัดที่ 17 ประกาศตัวแปรพร้อมกำนหนดค่าเท่ากับ 2.2e5 โดย e คือ exponential เลขชี้กำลัง มีค่าคือ 2.2 x 10 ยกกำลัง 5 ซึ่งมีค่าคือ 2.2×100000 = 220000 ดังผลลัพธ์ด้านล่าง
- บรรทัดที่ 18 ประกาศตัวแปรพร้อมกำนหนดค่าเท่ากับ 12e-1 โดย e คือ exponential เลขชี้กำลัง มีค่าคือ 12 x 10 ยกกำลัง -1 ซึ่งมีค่าคือ 12×0.1 = 1.2 ดังผลลัพธ์ด้านล่าง

2.สัญลักษณ์ (\) backslash นำหน้าอักษร
ในภาษาโกจะมีการใช้ \ กับตัวอักษรทำให้เกิดอักขระพิเศษที่นำไปใช้งานการเขียนโปรแกรมได้ เช่น \n คือการขึ้นบรรทัดใหม่ , \t คือการขยับตำแหน่งไปทางด้านขวา 1 tab โดยมีตารางดังด้านล่าง
สัญลักษณ์ | ผลลัพธ์ |
\\ | \ character |
\’ | ‘ character |
\” | ” character |
\a | Alert or bell |
\b | Backspace |
\f | Form feed |
\n | Newline |
\r | Carriage return |
\t | Horizontal tab |
\v | Vertical tab |
3. ตัวแปรคงที่ Constants Variable
นอกจากข้อมูลคงที่แล้วในภาษาโกก็ยังมีตัวแปรคงที่ คือตัวแปรนั้นจะไม่สามารถเปลี่ยนค่าข้อมูลได้ ด้วย keyword const เช่น const name string = “DekDoyDev”;
ตัวอย่าง
package main import ( "fmt" ) func main() { const name string = "DekDoyDev" const number int = 345 price := 1000 fmt.Println("name = ",name) fmt.Println("number = ",number) fmt.Println("price = ",price) //name = "Go 101" //number = 678 //price = 1500 }
- บรรทัดที่ 9 ใช้ keywords const เป็นการประกาศตัวแปรคงที่ name มีค่าเท่ากับ “DekDoyDev”
- บรรทัดที่ 11 ใช้ keywords const เป็นการประกาศตัวแปรคงที่ number มีค่าเท่ากับ 345
- บรรทัดที่ 13 เป็นการประกาศตัวแปร price มีค่าเท่ากับ 1000
- บรรทัดที่ 15-16-17 เป็นการแสดงผลของตัวแปรทั้ง 3 ดังภาพด้านล่าง

ตัวอย่าง(ต่อ)
package main import ( "fmt" ) func main() { const name string = "DekDoyDev" const number int = 345 price := 1000 fmt.Println("name = ",name) fmt.Println("number = ",number) fmt.Println("price = ",price) name = "Go 101" number = 678 price = 1500 }
- บรรทัดที่ 19 จะเกิด error เพราะเป็นการกำหนดค่าใหม่ให้ตัวแปร name ซึ่งไม่สามารถทำได้เนื่องจากตัวแปร name เป็นตัวแปรคงที่ ดังประกาศไว้ในบรรทัดที่ 9 ดังภาพด้านล่าง
- บรรทัดที่ 20 จะเกิด error เพราะเป็นการกำหนดค่าใหม่ให้ตัวแปร number ซึ่งไม่สามารถทำได้เนื่องจากตัวแปร number เป็นตัวแปรคงที่ ดังประกาศไว้ในบรรทัดที่ 11 ดังภาพด้านล่าง
- บรรทัดที่ 21 เป็นการกำหนดค่าให้ตัวแปร price เท่ากับ 1500 ซึ่งสามารถทำได้เพราะตัวแปร price ไม่ใช่ตัวแปรคงที่

4. คอมเมนท์ในภาษาโก (Go Comments)
คอมเมนท์ในภาษาโกมีไว้เพื่อให้โปรแกรมเมอร์สามารถเขียนอธิบายการทำงานของโปรแกรมหรือฟังก์ชันเพื่อในอนาคตตนเองหรือคนอื่นมาอ่านโค๊ดจะได้ช่วยให้เข้าใจได้ง่าย โดยโปรแกรมจะไม่เอาคอมเมนท์ไปทำงานแต่อย่างใด ซึ่งคอมเมนท์ในภาษาโกมี 2 แบบ คือ 1. Single Line คอมเมนท์ 1 บรรทัด 2. Multiple Line คอมเมนท์หลายบรรทัด
Single Line Comments ใช้สัญลักษณ์ ( // )
import ( "fmt" ) // This is main function func main() { const name string = "Golang 101" //name = "DekDoyDev" fmt.Println("name = ",name) }
- บรรทัดที่ 4 เป็นการเขียนคอมเมนท์โค๊ด 1 บรรทัด ด้วยสัญลักษณ์ // this is main function
- บรรทัดที่ 8 เป็นการเขียนคอมเมนท์โค๊ด 1 บรรทัด ทำให้คำสั่ง name = “DekDoyDev” ไม่ถูกทำงาน ทำให้ผลลัพธ์การรันโปรแกรมได้ดังภาพด้านล่าง คือ name = Golang 101 ไม่ใช่ DekDoyDev

Multiple Line Comments ใช้สัญลักษณ์ ( /* */ )
package main import ( "fmt" ) // This is main function func main() { /* Declare variable name = "DekDoyDev" var name string = "DekDoyDev" const number int = 345 fmt.Println("number = ",number) */ price := 1000 fmt.Println("price = ",price) }
- บรรทัดที่ 8-13 เป็นการเขียนคอมเมนท์โค๊ดแบบหลายบรรทัด สังเกตุบรรทัดที่ 13 ผลลัพธ์จะไม่แสดง number = 345 ออกมา เพราะถูกคอมเมนท์ไว้นั่นเอง
- บรรทัดที่ 16,17 ไม่ถูกคอมเมนท์จึงทำงานได้ดังภาพด้านล่าง

สำหรับบทความนี้ทำให้เข้าใจค่าข้อมูลคงที่ constants ตัวสัญลักษณ์ต่างๆที่นำมาใช้งาน เลขฐานแปด เลขฐานสิบหก และตัวแปรคงที่ที่กำหนดค่าแล้วไม่สามารถเปลี่ยนแปลงค่าได้ การเขียนคอมเมนท์ ประโยชน์ พร้อมตัวอย่าง หวังว่าคงพอจะมีประโยชน์สำหรับคนที่กำลังศึกษาบ้างไม่มากก็น้อยนะครับ.