styleguide

Go Style Decisions (การตัดสินใจเรื่องสไตล์)

ภาพรวม คู่มือหลัก การตัดสินใจ แนวทางปฏิบัติที่ดีที่สุด

หมายเหตุ: เอกสารนี้เป็น เกณฑ์ปฏิบัติ (Normative) แต่ ไม่ใช่มาตรฐานถาวร (Canonical) หากมีข้อขัดแย้งกับ คู่มือหลัก (Guide) ให้ยึดตามคู่มือหลักเป็นสำคัญ

การตั้งชื่อ (Naming)

การใช้เครื่องหมายขีดล่าง (Underscores)

โดยทั่วไปชื่อใน Go ไม่ควร มีเครื่องหมายขีดล่าง (_) ยกเว้น 3 กรณี:

  1. ชื่อแพ็กเกจที่ถูก import โดย generated code เท่านั้น
  2. ชื่อฟังก์ชัน Test, Benchmark และ Example ในไฟล์ *_test.go
  3. Library ระดับล่างที่ทำงานร่วมกับ OS หรือ cgo (เช่น syscall)

ชื่อแพ็กเกจ (Package names)

ชื่อ Receiver (Receiver names)

ชื่อค่าคงที่ (Constant names)

ตัวย่อ (Initialisms)

Getters

ชื่อตัวแปร (Variable names)

การทำซ้ำ (Repetition)


คอมเมนต์ (Commentary)


การนำเข้า (Imports)

การเปลี่ยนชื่อ (Import renaming)

การจัดกลุ่ม (Import grouping)

เรียงลำดับดังนี้:

  1. Standard library
  2. Project และ Third-party packages
  3. Protocol Buffer imports
  4. Side-effects imports (_)

Import “dot” (import .)


ข้อผิดพลาด (Errors)

การคืนค่า Error (Returning errors)

ข้อความ Error (Error strings)

การจัดการ Error (Handle errors)

In-band errors


ภาษา (Language)

การจัดรูปแบบ Literal (Literal formatting)

Nil slices

Indentation confusion

Function formatting

Conditionals & Loops

การคัดลอก (Copying)

Panic

Must functions

Interfaces

Generics

Pass Values vs Pointers

Receiver Type


ไลบรารีทั่วไป (Common libraries)


การทดสอบ (Useful Test Failures)