G0 101 Identifiers & Keywords

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) เท่านั้นก็ตาม. หวังว่าจะมีประโยชน์บ้างสำหรับคนที่สนใจนะครับ.

ติดต่อ-สอบถาม