
Generics
Type parameters, constraints, comparable, any, hàm generic, kiểu generic, suy luận kiểu
1Type parameter trong Go là gì?
Type parameter trong Go là gì?
Câu trả lời
Type parameter là một biến kiểu được sử dụng trong các định nghĩa hàm hoặc kiểu generic, được khai báo bên trong dấu ngoặc vuông. Nó cho phép viết mã có thể tái sử dụng hoạt động với các kiểu khác nhau mà không hy sinh type safety. Type parameter được khởi tạo với type argument cụ thể khi sử dụng, cho phép trình biên dịch xác minh tính nhất quán của kiểu tại thời điểm biên dịch thay vì lúc chạy.
2Cú pháp đúng để khai báo một hàm generic đơn giản là gì?
Cú pháp đúng để khai báo một hàm generic đơn giản là gì?
Câu trả lời
Cú pháp đúng để khai báo một hàm generic sử dụng dấu ngoặc vuông ngay sau tên hàm để định nghĩa type parameter. Constraint any cho phép chấp nhận bất kỳ kiểu nào, tương tự interface{} nhưng với ngữ nghĩa rõ ràng hơn trong ngữ cảnh generics. Cú pháp này được giới thiệu trong Go 1.18 để cho phép lập trình generic trong khi vẫn duy trì sự đơn giản của ngôn ngữ.
3Constraint 'any' trong Go đại diện cho điều gì?
Constraint 'any' trong Go đại diện cho điều gì?
Câu trả lời
Constraint any là một alias cho interface{} đại diện cho tập hợp tất cả các kiểu có thể có trong Go. Nó cho phép một type parameter chấp nhận bất kỳ kiểu nào mà không có giới hạn, mang lại sự linh hoạt tối đa. Mặc dù tiện lợi, việc sử dụng any đồng nghĩa với việc từ bỏ kiểm tra kiểu cụ thể và thường yêu cầu type assertion để truy cập các phương thức hoặc thuộc tính của kiểu cơ bản.
Sự khác biệt chính giữa 'any' và 'comparable' với vai trò constraint là gì?
Làm thế nào để khai báo một kiểu generic tùy chỉnh như stack?
+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
Go Design Patterns
Microservices
Bảo mật và Xác thực
Docker & Containerization
Kubernetes Basics
Go Nâng cao
Phát triển CLI
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í