
การพัฒนา CLI
การออกแบบ CLI, แพ็กเกจ flag, cobra/viper, การจัดโครงสร้างแอป CLI, exit code, stdin/stdout/stderr, รูปแบบ UX, การทดสอบแอป CLI
1บทบาทหลักของแพ็กเกจ flag ใน Go คืออะไร?
บทบาทหลักของแพ็กเกจ flag ใน Go คืออะไร?
คำตอบ
แพ็กเกจ flag มี API ที่เรียบง่ายสำหรับการแยกวิเคราะห์อาร์กิวเมนต์ command-line ช่วยให้กำหนด flag ด้วยชนิดข้อมูลที่กำหนดไว้ล่วงหน้า (string, int, bool ฯลฯ) และจัดการการแยกวิเคราะห์และการตรวจสอบโดยอัตโนมัติ แพ็กเกจนี้เป็นส่วนหนึ่งของ standard library และเหมาะสำหรับ CLI ที่เรียบง่าย
2จะกำหนด flag แบบ string ด้วยแพ็กเกจ flag และดึงค่าของมันได้อย่างไร?
จะกำหนด flag แบบ string ด้วยแพ็กเกจ flag และดึงค่าของมันได้อย่างไร?
คำตอบ
ฟังก์ชัน flag.String คืนค่าพอยน์เตอร์ไปยังค่าของ flag หลังจากเรียก flag.Parse() แล้ว สามารถเข้าถึงค่าได้โดยการ dereference พอยน์เตอร์ นอกจากนี้ยังสามารถใช้ flag.StringVar เพื่อผูกกับตัวแปรที่มีอยู่โดยตรงได้ด้วย
3ความแตกต่างระหว่าง flag.String และ flag.StringVar คืออะไร?
ความแตกต่างระหว่าง flag.String และ flag.StringVar คืออะไร?
คำตอบ
flag.String จัดสรรตัวแปรใหม่และคืนค่าพอยน์เตอร์ไปยังตัวแปรนั้น ในขณะที่ flag.StringVar ผูก flag กับตัวแปรที่มีอยู่ซึ่งส่งผ่านตามแอดเดรส StringVar มีประโยชน์เมื่อต้องกำหนดตัวแปรที่ระดับ package หรือเมื่อต้องการหลีกเลี่ยงการ dereference
ควรใช้ exit code ใดเมื่อแอปพลิเคชัน CLI พบข้อผิดพลาดของอาร์กิวเมนต์ที่ไม่ถูกต้อง?
ข้อได้เปรียบหลักของ Cobra เมื่อเทียบกับแพ็กเกจ flag มาตรฐานคืออะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Go อื่นๆ
พื้นฐาน Go
โครงสร้างข้อมูล Go
อินเทอร์เฟซใน Go
การจัดการข้อผิดพลาด
พื้นฐาน Goroutine
Channels
Go Modules
เซิร์ฟเวอร์ HTTP
ไคลเอนต์ HTTP
การเข้ารหัส JSON
Database/SQL
แพ็กเกจ context
Testing
รูปแบบ Concurrency
ไพรมิทีฟการซิงโครไนซ์
เฟรมเวิร์กเว็บ Go
การออกแบบ REST API
gRPC
Reflection
การจัดการหน่วยความจำ
การเพิ่มประสิทธิภาพการทำงาน
Generics
Go Design Patterns
Microservices
ความปลอดภัยและการยืนยันตัวตน
Docker & Containerization
Kubernetes Basics
Go ขั้นสูง
เชี่ยวชาญ Go สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี