Tôi nghe nói Go giống như C với các kênh và rất nhiều tiện ích. Tôi làm rất ít C, nhưng khi tôi làm nó để làm cho phần mở rộng nhỏ cho các ngôn ngữ khác. Có thể trở thành một cách an toàn để tạo tiện ích mở rộng bằng các ngôn ngữ khác không? Có phải mọi người đang làm việc này không?Có thể tạo phần mở rộng cho python/php/perl bằng Go không?
7
A
Trả lời
7
Đối với Python có goPy: https://github.com/qur/gopy
Đối với Perl có Campher: https://github.com/bradfitz/campher
Đối Lua có golua: https://github.com/afitz/golua
1
Đối với PHP có một vài lựa chọn:
Các vấn đề liên quan
- 1. không thể tạo phần mở rộng ruby C++
- 2. Có thể làm cho AVURLAsset hoạt động mà không có phần mở rộng tệp không?
- 3. Prototype có thể mở rộng các phần tử SVG không?
- 4. Cách tạo phần mở rộng PHP
- 5. Xóa phần mở rộng .php bằng mod_rewrite
- 6. Có URL không có phần mở rộng .aspx
- 7. Tôi có thể mở rộng Corona bằng mã gốc không?
- 8. Tôi có thể mở rộng lisp bằng C++ không?
- 9. Có thể tạo danh sách AlertDialog có thể mở rộng không?
- 10. Luồng HTTP không có phần mở rộng trong MPMoviePlayerController
- 11. Bạn có thể hiển thị tệp không có phần mở rộng .jsp dưới dạng JSP không?
- 12. Phần mở rộng tệp cho PowerShell 3
- 13. Có thể mở rộng Java Enums không?
- 14. IntelliJ Artifact có phần mở rộng không hợp lệ
- 15. Không thể xây dựng phần mở rộng gốc đá quý
- 16. Có thể viết phần mở rộng node.js trong C (không phải C++) không?
- 17. Làm cách nào để tạo tệp tạm thời có phần mở rộng cụ thể trong bash?
- 18. Tạo phần mở rộng nút MVC Delete - Cách mở rộng trình trợ giúp Html của MVC?
- 19. Symfony2: Cách tạo phần mở rộng php_intl có sẵn cho Symfony2?
- 20. Mũi có phải là phần mở rộng của unittest không?
- 21. Quy tắc mẫu Makefile không có phần mở rộng?
- 22. Có thể tạo phương thức khởi tạo-mở rộng không? làm sao?
- 23. Nhập mô-đun python không có phần mở rộng .py
- 24. Có thể "mở rộng" IntelliJ sao cho tôi có thể mở tệp hiện tại trong VIM
- 25. UIDocumentInteractionController, Không có phần mở rộng tệp nhưng UTI
- 26. đặt liên kết không có phần mở rộng tệp (.php)
- 27. Phần mở rộng PDO là cần thiết cho bộ chuyển đổi này, nhưng phần mở rộng không được tải
- 28. SiteCore url mà không có phần mở rộng .aspx
- 29. Trong Javascript, bạn có thể mở rộng DOM không?
- 30. Có biến Emacs để tắt sao lưu các tệp có phần mở rộng cụ thể không?
Tôi nghĩ rằng nó sôi xuống để giao tiếp với mã C (đặc biệt, làm cho đầu ra của trình biên dịch Go tuân thủ ABI mặc định của nền tảng, hoặc ít nhất đặt nó đằng sau một lớp làm). Tôi không biết đủ để nói nếu và làm thế nào có thể được thực hiện. Nhưng một trong hai cách, nó có thể sẽ không đủ dễ dàng (đặc biệt là khi bạn cần phải làm điều đó một cách hợp lý) để trở thành một lựa chọn cho hầu hết mọi người. – delnan
Đây có thể hữu ích http://stackoverflow.com/questions/6125683/call-go-functions-from-c http://stackoverflow.com/questions/1760468/interface-go-with-c-libraries – nicerobot