
Phát triển CLI
Thiết kế CLI, package flag, cobra/viper, cấu trúc ứng dụng CLI, exit code, stdin/stdout/stderr, mẫu UX, kiểm thử ứng dụng CLI
1Vai trò chính của package flag trong Go là gì?
Vai trò chính của package flag trong Go là gì?
Câu trả lời
Package flag cung cấp một API đơn giản để phân tích các đối số dòng lệnh. Nó cho phép định nghĩa các flag với các kiểu được định nghĩa sẵn (string, int, bool, v.v.) và tự động xử lý việc phân tích và xác thực. Package này là một phần của thư viện chuẩn và phù hợp cho các CLI đơn giản.
2Làm thế nào để định nghĩa một flag string với package flag và lấy giá trị của nó?
Làm thế nào để định nghĩa một flag string với package flag và lấy giá trị của nó?
Câu trả lời
Hàm flag.String trả về một con trỏ tới giá trị của flag. Sau khi gọi flag.Parse(), có thể truy cập giá trị bằng cách dereference con trỏ. Cũng có thể dùng flag.StringVar để liên kết trực tiếp với một biến đã tồn tại.
3Sự khác biệt giữa flag.String và flag.StringVar là gì?
Sự khác biệt giữa flag.String và flag.StringVar là gì?
Câu trả lời
flag.String cấp phát một biến mới và trả về con trỏ tới nó, trong khi flag.StringVar liên kết flag với một biến đã tồn tại được truyền qua địa chỉ. StringVar hữu ích khi biến cần được định nghĩa ở cấp package hoặc khi muốn tránh dereference.
Nên dùng exit code nào khi một ứng dụng CLI gặp lỗi đối số không hợp lệ?
Lợi thế chính của Cobra so với package flag chuẩn là gì?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Go khác
Kiến thức cơ bản về Go
Cấu trúc dữ liệu Go
Interface trong Go
Xử lý lỗi
Cơ bản về Goroutine
Channels
Go Modules
Máy chủ HTTP
HTTP Client
Mã hóa JSON
Database/SQL
Gói context
Testing
Các mẫu Concurrency
Primitive đồng bộ hóa
Framework web Go
Thiết kế API REST
gRPC
Reflection
Quản lý bộ nhớ
Tối ưu hóa hiệu năng
Generics
Go Design Patterns
Microservices
Bảo mật và Xác thực
Docker & Containerization
Kubernetes Basics
Go Nâng cao
Nắm vững Go cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí