转python调用Go代码
2024-08-27 04:56:35
Go 1.5发布了,其中包含了一个特性:可以编译生成动态链接库,经试验,生成的.so文件可以被python加载并调用。下面举个例子:
先写一个go文件main.go:
package main
import "C"
//export Sum
func Sum(a, b int) int {
return a + b
}
func main() {}
然后编译go build -buildmode=c-shared -o sum.so main.go
,会得到一个sum.so
和一个sum.h
。然后用下面的python代码就可以调用Go代码中的Sum()
函数了:
#!/usr/bin/env python
import ctypes
lib = ctypes.CDLL('./sum.so')
print lib.Sum(7, 11)
有了这个机制,理论上来说,就可以用Go来构建更有用的python模块了
参考:
https://blog.filippo.io/building-python-modules-with-go-1-5/
最新文章
- 获取Linux进程运行在哪个CPU内核上面的方法
- Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动
- [原博客] POI系列(1)
- Xamarin.Forms DataGrid
- jdk1.6,jdk1.7共存
- ArcGIS多面体(multipatch)解析(一)
- 2017-3-9 SQL server 数据库
- 日常API之C#百度人脸识别
- jstl--->;Core 核心标签库->;流程控制
- Servlet--继承HttpServlet写自己的Servlet
- Dapeng框架-开源高性能分布式微服务框架
- 熟悉Linux常用命令
- mysql-----04 多表查询
- ORACLE in与exists语句的区别
- Greenplum和Postgresql的主键自增
- poj3061 Subsequence(尺取法)
- 十九、Spring框架(注解方式测试)
- Fastjson是一个Java语言编写的高性能功能完善的JSON库。
- solr + tomcat + mysql整合
- CDC--Demo
热门文章
- 【原创】Win Server 2012R2 IIS 详细配置(多图详解)
- django rest framework如何实现nest field显示,如何保存有外键的字段更新
- Openstack ceilometer
- 忘记MySQL数据库密码的解决办法
- 计蒜客 18492.Upside down primes-米勒拉宾判大素数 (German Collegiate Programming Contest 2015 ACM-ICPC Asia Training League 暑假第一阶段第三场 K)
- Python的程序结构[0] ->; 属性/Property[0] ->; 类属性、实例属性和私有属性
- [BZOJ 4031] 小Z的房间
- 【bzoj3687】【简单题】bitset
- 七. 多线程编程6.isAlive()和join()的使用
- quartz Cron-Expression的表达式