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/

最新文章

  1. 获取Linux进程运行在哪个CPU内核上面的方法
  2. Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动
  3. [原博客] POI系列(1)
  4. Xamarin.Forms DataGrid
  5. jdk1.6,jdk1.7共存
  6. ArcGIS多面体(multipatch)解析(一)
  7. 2017-3-9 SQL server 数据库
  8. 日常API之C#百度人脸识别
  9. jstl--->Core 核心标签库->流程控制
  10. Servlet--继承HttpServlet写自己的Servlet
  11. Dapeng框架-开源高性能分布式微服务框架
  12. 熟悉Linux常用命令
  13. mysql-----04 多表查询
  14. ORACLE in与exists语句的区别
  15. Greenplum和Postgresql的主键自增
  16. poj3061 Subsequence(尺取法)
  17. 十九、Spring框架(注解方式测试)
  18. Fastjson是一个Java语言编写的高性能功能完善的JSON库。
  19. solr + tomcat + mysql整合
  20. CDC--Demo

热门文章

  1. 【原创】Win Server 2012R2 IIS 详细配置(多图详解)
  2. django rest framework如何实现nest field显示,如何保存有外键的字段更新
  3. Openstack ceilometer
  4. 忘记MySQL数据库密码的解决办法
  5. 计蒜客 18492.Upside down primes-米勒拉宾判大素数 (German Collegiate Programming Contest 2015 ACM-ICPC Asia Training League 暑假第一阶段第三场 K)
  6. Python的程序结构[0] -> 属性/Property[0] -> 类属性、实例属性和私有属性
  7. [BZOJ 4031] 小Z的房间
  8. 【bzoj3687】【简单题】bitset
  9. 七. 多线程编程6.isAlive()和join()的使用
  10. quartz Cron-Expression的表达式