Tôi là một lập trình viên sở thích hợp lý kinh nghiệm, và tôi đã quen thuộc với C++, D, Java, C# và những người khác.Những ngôn ngữ nào khác hỗ trợ kiểu giao tiếp của Go mà không khai báo rõ ràng?
Ngoại trừ Go, hầu như mọi ngôn ngữ đều yêu cầu tôi nêu rõ rằng tôi đang triển khai giao diện. Đây là đường biên vô lý, vì hôm nay chúng ta có các trình biên dịch cho các ngôn ngữ như Haskell, có thể thực hiện gần như toàn bộ kiểu suy luận của chương trình với rất ít gợi ý.
Những gì tôi đang tìm kiếm là một ngôn ngữ lập trình mà thực hiện điều này:
interface ITest {
void Test();
}
class Test {
void Test() { }
}
void main() {
ITest x;
x = new Test;
}
Những ngôn ngữ sẽ thấy điều này, và tự động cờ Test
như thực hiện ITest
?
ETA: Tôi không tìm kiếm cách nhập vịt. Tôi đang tìm kiếm các ngôn ngữ được đánh máy đúng với suy luận.
JavaScript có được tính không? Bạn có thể gọi hàm 'Test()' trên bất kỳ đối tượng nào có nó mà không cần phải khai báo một giao diện. –
Tôi không chắc câu hỏi này phù hợp với SO. Nếu bạn muốn có một danh sách các ngôn ngữ có tính năng tuyệt vời này của Go, có thể lập trình viên sẽ tốt hơn. –
Bạn đang tìm kiếm bất kỳ ngôn ngữ nào bằng cách gõ vịt? JS, Python, Ruby, v.v ...? –