goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展。

示例代码:

package simpleimport (
"fmt"
"gopy"
)func example(args*py.Tuple) (py.Object, error) {fmt.Printf("simple.example: %v\n", args)
py.None.Incref()
return py.None, nil
}func init() {methods := []py.Method{{"example", example,"example function"},
}_, err := py.InitModule("simple", methods)
if err != nil {panic(err)
}
}

编译方法:

gopy pymodule.go

使用方法:

import simple

simple.example(“hello”, {123: True})

输出结果:

simple.example: [hello map[123:true]]

github开源项目地址:https://github.com/qur/gopy

Go 语言编写 CPython 扩展 goPy相关推荐

  1. golang python扩展_Python 利用Go语言编写 CPython 扩展 goPy的简单示例

    对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展. 示例代码: # ...

  2. 如何用C语言编写PHP扩展的详解

    来源:http://www.jb51.net/article/38381.htm 本篇文章是对用C语言编写PHP扩展进行了详细的分析介绍,需要的朋友参考下 1:预定义 在home目录,也可以其他任意目 ...

  3. C语言编写Python包,使用C语言编写Python扩展1——Hello World

    能够使用C语言编写扩展是Python一大卖点吧,这可以将一些关键的代码使用C来写以提升程序的性能.本文是参考了Python的官方文档整理而来的,同时结合了Python2跟Python3.按照惯例现在先 ...

  4. go语言编写php扩展,[原创]快速开发一个PHP扩展-Go语言中文社区

    快速开发一个PHP扩展 本文通过非常快速的方式讲解了如何制作一个PHP 5.2 环境的扩展(PHP Extension),希望能够在图文的方式下让想快速学习的朋友了解一下制作过程. 需求:比如开发一个 ...

  5. c写成php的扩展_用C语言编写PHP扩展

    1:预定义 vi myfunctions.def string self_concat(string str, int n) 2:到PHP源码目录的ext目录 #cd /usr/local/php-5 ...

  6. 一种基于扩展反电动势的永磁同步电机无位置控制算法,全部C语言 编写,含有矢量控制大部分功能(弱磁,解耦,过调制,死区补偿等)

    一种基于扩展反电动势的永磁同步电机无位置控制算法,全部C语言 编写,含有矢量控制大部分功能(弱磁,解耦,过调制,死区补偿等) 为了方便学习和工作,该产品结合S-Function进行仿真,且属于量产产品 ...

  7. 用C语言写PHP扩展

     用C语言写PHP扩展 1:预定义 在home目录,也可以其他任意目录,写一个文件,例如caleng_module.def 内容是你希望定义的函数名以及参数: int a(int x,int y) s ...

  8. c语言编写弹窗提示是否确认退出_世人觉得C语言和C++太难?没前途?过来人告诉你真相...

    因为有些伙伴对C++并不了解,所以这里就简要介绍一下. 很多人对C++语言都存在误解,以为C++就是C语言的扩展,包括我自己,最开始学习C++时也是这么认为的,一是因为名字太像了,然后C++面向过程部 ...

  9. python叫什么语言-python是什么语言编写的

    python是什么语言编写的? python是C语言编写的. 自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程. Python的创始人为荷兰人吉多·范 ...

最新文章

  1. 容器使用之vector
  2. 蓝底换白底边缘不干净_雨刮器刮不干净别急着换,老司机教你一招,让雨刮器恢复如新!...
  3. ASP.NET 面试题和答案(不断更新)
  4. QT:基本知识(一);
  5. 并发数据结构-1.1 并发的数据结构的设计
  6. Observe rainy world
  7. effective c++:virtual函数在构造函数和析构函数中的注意事项
  8. rtl8812au linux驱动下载,Ubuntu 16.04 安装 rtl8812au系列 (DWA-182) wireless adapter driver
  9. 制作U盘启动时的写入模式HDD-FAT32、ZIP-FAT32、HDD-FAT16、ZIP-FAT16有什么区别?
  10. Failed to compile with 1 errors
  11. CUDA11.4+VS2017+MATLAB2020a执行mexcuda遇到的问题及解决
  12. 【PPT】2010/2013/2016实现在演示过程中拖拽图片/形状
  13. Java的 网络编程
  14. htonl,htons,ntohl,ntohs的详解
  15. Java对象与json转换
  16. 微信小程序用户登录前后台详解
  17. HTML5之内联框架和音视频标签
  18. Excel2007版的常用功能(7):Excel公式与函数
  19. 小学计算机兴趣小组活动记计划,小学兴趣小组年度工作计划(通用5篇)
  20. 网站流量怎么快速飙升?如何获取网站精准流量?

热门文章

  1. 20155303狄惟佳预备作业三Linux学习笔记
  2. hdu 1874 畅通工程续(模板题 spfa floyd)
  3. scrum 12.2
  4. 体验最火的敏捷-SCRUM!(网络直播课程 免费)
  5. 一个filter子查询测试
  6. 测试手机信号格数软件,超详细教程之教你如何查询手机信号的强度
  7. 原生android 权限管理,Android 权限管理(原生、EasyPermissions、RxPermissions)
  8. 数据返回nan_NumPy 的 nan 如何理解?
  9. python入门之函数调用educoder_Educode Python入门之函数调用
  10. 3.定义一个有10个元素的数组,用其代表10个学生的考试成绩,从键盘输入10个成绩,统计平均成绩。