Tôi biết bạn có thể tạo ra một chức năng ẩn danh, và có trình biên dịch suy luận kiểu trả về của nó:Có thể chỉ định kiểu trả về của hàm ẩn danh, trong Scala không?
val x =() => { System.currentTimeMillis }
Chỉ vì lợi ích tĩnh gõ của, là nó có thể để xác định lợi nhuận của nó gõ không? Tôi nghĩ rằng nó sẽ làm cho mọi thứ rõ ràng hơn rất nhiều.
Không chắc chắn ý của bạn với * rằng chức năng ở phía bên trái đáp ứng kỳ vọng đó *, việc đặt loại cho khối kết quả cũng đảm bảo rằng loại đó là chính xác, ví dụ: 'val x =() => {System.currentTimeMillis}: Chuỗi' không biên dịch. Hay bạn ám chỉ điều gì khác? –
Câu trả lời của Geoff có lợi thế là bạn có được loại hình đầy đủ ở phía trước. Nếu bạn có định nghĩa hàm dài (nhiều dòng), hãy nhanh nhất để hiểu những gì đang xảy ra nếu loại đó ở đầu. Câu trả lời của Fabian có lợi thế là ít lặp đi lặp lại (đặc biệt tốt cho các định nghĩa ngắn (một dòng), và nhanh hơn để hiểu nếu bạn có thể mò mẫm toàn bộ điều trong nháy mắt). –
Ồ, bây giờ tôi thấy điểm của Geoff, định nghĩa kiểu của nó chứa kiểu đầu vào, ở đây là '()', và được kiểm tra khi hàm '() => System.currentTimeMillis' được gán cho' x'. –