G0 101 Identifiers & Keywords
Go 101 หลักการกำหนดชื่อและคำสงวนในภาษาโก
บทความก่อนหน้านี้เราได้เรียนรู้หลักการประกาศตัวแปร กำหนดค่าตัวแปรกันแล้ว บทความนี้เราจะมาเรียนรู้หลักการ กำหนดชื่อตัวแปร(Variables) กำหนดชื่อฟังก์ชัน(Function) กำหนดชื่อค่าคงที่(Constant) กำหนดชื่อป้ายคำสั่ง (Statement Label) กำหนดชื่อแพ็คเก็จ (Package) และคำสงวนในภาษาโก ซึ่งเป็นกฏของภาษาโกที่เราต้องทำตาม หากเราทำผิดกฏตัวโปรแกรมเราก็จะคอมไพล์ไม่ผ่านเกิด Syntax Error ตอน Compile Time Error และเช่นเดียวกัน Keyword , Reserve word คำสงวนที่ทางภาษาโกกำหนดไว้เราก็ไม่สามารถนำมาใช้กำหนดชื่อตัวแปร ฟังก์ชัน ค่าคงที่ ป้ายคำสั่งได้เช่นกัน
Identifiers
-
การกำหนดชื่อตัวแรกต้องเป็นตัวอักษรหรือเครื่องหมาย (_) underscore เท่านั้น เครื่องหมาย @, &, #, %, * ใช้ไม่ได้
-
การกำหนดชื่อตัวแรกด้วยตัวเลข 0-9 ไม่ได้
-
ตัวอักษรในภาษาโกเป็นแบบ case sensitive คือตัวพิมพ์เล็กกับตัวพิมพ์ใหญ่ เช่น a , A เป็นคนละตัวกัน
-
เราไม่สามารถนำ keywords (คำสงวน) ที่มีในภาษาโกมาใช้กำหนดชื่อตัวแปร ฟังก์ชันได้
ตัวอย่าง 1.
-
บรรทัดที่ 8 เป็นการกำหนดชื่อตัวแปรได้ถูกต้องตามกฏ คือขึ้นต้นตัวแรกด้วยตัวอักษรหรือ (_) underscore ไม่ตรงกับ keyword ที่ภาษาโกกำหนดไว้
-
บรรทัดที่ 9 เป็นการกำหนดชื่อตัวแปรได้ถูกต้องตามกฏ คือขึ้นต้นด้วย (_) underscore และไม่ตรงกับ keyword ที่ภาษาโกกำหนดไว้
-
บรรทัดที่ 9,10,11 เป็นการกำหนดชื่อตัวแปรผิดกฏ Syntag Error คือขึ้นต้นด้วย @,9 ผิดกฏและใช้ @ ซึ่งห้ามกำหนดไว้
-
บรรทัดที่ 12 เป็นการกำหนดชื่อตัวแปรได้ถูกต้องตามกฏ คือขึ้นต้นตัวแรกด้วยตัวอักษรหรือ (_) underscore ไม่ตรงกับ keyword ที่ภาษาโกกำหนดไว้
ตัวอย่าง 2.
-
บรรทัดที่ 7 และ 8 ตัวแปร Total = 500 และ total = 1000 ในภาษาโกจะมองว่าเป็นตัวแปรคนละตัวกันเพราะเป็น case sensitive ตามกฏ เพราะฉะนั้นต้องมองดีๆนะครับสำหรับมือใหม่พี่เพิ่งเริ่มรับเขียนโปรแกรม (เคยเจ็บมาก่อน 555)
-
บรรทัดที่ 12 เป็นการกำหนดชื่อตัวแปรผิดกฏ คือ for เป็น keyword (คำสงวน) ของภาษาโกเอามาใช้ไม่ได้
-
บรรทัดที่ 13 เป็นการกำหนดชื่อตัวแปรได้ถูกต้องตามกฏ คือ string ไม่เป็น keyword (คำสงวน) ของภาษาโกเอามาใช้ได้ หลายคนอาจจะมีคำถามว่า อ้าว เห้ย string เป็นชนิดข้อมูลหนิ เช่น var name string = “DekDoyDev” มันไม่น่าเอามาใช้งานได้หนิ แต่กฏก็ต้องเป็นกฏครับ ถ้าไม่มีในตารางด้านล่างถือว่าผ่านครับ ขนาด int := 100 ยังถูกต้องนะครับ (ดูดีๆนะครับผม)
Keywords
ตารางแสดงคำสงวนในภาษาโก ปี 2021 (ทั้งหมด 25 keywords) อนาคตอาจจะมีปรับเพิ่มหรือลดลงได้
break | default | func | interface | select |
case | defer | go | map | struct |
chan | else | goto | package | switch |
const | fallthrough | if | range | type |
continue | for | import | return | var |
*อย่าลืมนะครับ ด้วยหลักการ Identifiers นี้เราสามารถนำไปใช้กับการกำหนดชื่อตัวแปร(Variables) กำหนดชื่อฟังก์ชัน(Function) กำหนดชื่อค่าคงที่(Constant) กำหนดชื่อป้ายคำสั่ง (Statement Label) กำหนดชื่อแพ็คเก็จ (Package) ได้ทั้งหมดนะครับจากบทความนี้ยกตัวอย่างแค่กำหนดชื่อตัวแปร(Variables) เท่านั้นก็ตาม. หวังว่าจะมีประโยชน์บ้างสำหรับคนที่สนใจนะครับ.
ติดต่อ-สอบถาม