Tôi đã tìm thấy tuyên bố biến này var _ PropertyLoadSaver = (*Doubler)(nil)
và tôi tự hỏi mục đích của nó là gì. Nó dường như không khởi tạo bất cứ điều gì và vì nó sử dụng một định danh trống, tôi đoán bạn không thể truy cập nó.Thông số: Mục đích của số nhận dạng trống trong bài tập biến là gì?
5
A
Trả lời
8
Đây là xác nhận thời gian biên dịch rằng loại *Doubler
thỏa mãn giao diện PropertyLoadSaver
.
Nếu loại *Doubler
không satisify giao diện, sau đó biên soạn sẽ thoát với một lỗi tương tự như:
prog.go:21: cannot use (*Doubler)(nil) (type *Doubler) as type PropertyLoadSaver in assignment:
*Doubler does not implement PropertyLoadSaver (missing Save method)
Sau đây là cách nó hoạt động. Mã số var _ PropertyLoadSaver
khai báo biến không xác định loại PropertyLoadSaver
. Biểu thức (*Doubler)(nil)
đánh giá thành giá trị loại *Doubler
. Chỉ có thể gán *Doubler
cho biến loại ProperytLoadSaver
nếu *Doubler
triển khai giao diện PropertyLoadSaver
.
Mã định danh trống _
được sử dụng vì biến không cần phải được tham chiếu ở nơi khác trong gói. Cùng một kết quả có thể đạt được với số nhận dạng không trống:
var assertStarDoublerIsPropertyLoadSaver PropertyLoadSaver = (*Doubler)(nil)
Các vấn đề liên quan
- 1. Mục đích của việc đánh số tham số là gì?
- 2. Mục đích của thông số biến thể AsyncTask
- 3. AntiForgery.GetTokens: mục đích của tham số oldCookieToken là gì?
- 4. Mục đích của bài tập đơn
- 5. Mục đích của lớp học trống trong Kotlin là gì?
- 6. mục đích của biến TARGET_ARCH là gì trong Makefiles
- 7. Mục đích của thông số "& rnd =" trong yêu cầu http là gì?
- 8. Mục đích của thông số thứ hai của bản in sâu, bản ghi nhớ là gì?
- 9. Mục đích của `__metaclass__ = type` là gì?
- 10. @ nằm trước biến số/số nhận dạng trong C# là gì?
- 11. Mục đích của. * \\ là gì?
- 12. Mục đích của LVCOLUMN.iSubItem là gì?
- 13. Mục đích của mã thông báo Newtonsoft.Json.JsonToken.StartConstructor là gì?
- 14. Mục đích của thông tin băm là gì?
- 15. Trong bản đánh số, số nhận dạng chữ ký chỉ mục là gì?
- 16. Mục đích của Parse Vexing là gì?
- 17. Mục đích của biến áp IdentityT là gì?
- 18. Mục đích của thuộc tính-đích là gì?
- 19. mục đích của tsconfig.json là gì?
- 20. Mục đích của hàm chỉ với số tham số không xác định là gì?
- 21. Mục đích của Tập dữ liệu là gì?
- 22. Mục đích của tệp vshost.exe là gì?
- 23. Mục đích của tệp .edmx là gì?
- 24. Mục đích của hàm ionViewDidLoad() là gì?
- 25. Mục đích của is_uploaded_file() là gì?
- 26. Mục đích của clojure.core.reducers/reduce là gì?
- 27. Mục đích của phiên JMS là gì?
- 28. Mục đích của chức năng `id` trong FSharp.Core là gì?
- 29. Mục đích của lớp Expression là gì?
- 30. Mục đích của UIWindow là gì?
Bạn có thể cung cấp thông số kỹ thuật không? https://golang.org/ref/spec –
@Theuserwithnohat không có trong thông số kỹ thuật. Đó là một quy ước không chính thức. – Endophage
@Karrot Kake bây giờ tôi hiểu nó hoạt động như thế nào. Đó là một loại lừa. Vì các số nhận dạng trống không được sử dụng theo bất kỳ cách nào tôi đoán nó không tạo ra rác, phải không? off-topic: '' (* Doubler) (nil) '' là tốt đẹp mặc dù. Tôi cũng không quen với điều này. –