Go+Python双语言混合开发
Go代码-“ CheckSignatures”功能
我不会在这里分解所有Go源代码 慕课底部评,如果您好奇地看到所有这些,请查看此源代码文件。
现在要看的代码的重要部分是CheckSignatures
函数的定义。
CheckSignatures函数定义
// CheckSignatures calculates sha1 signatures for files in rootDir and compare// them with signatures found at "sha1sum.txt" in the same directory. It'll// return an error if one of the signatures don't matchfunc CheckSignatures(rootDir string) error {
此函数将为每个文件启动一个goroutine,以检查所计算的给定文件的sha1签名是否与“ sha1sum.txt”中的签名相匹配。如果一个或多个文件不匹配,该函数将返回错误。
将Go代码导出到共享库
随着GO代码编写和测试的完成,我们可以继续将其导出到共享库。
我们将按照以下步骤将Go源代码编译成共享库,以便Python可以调用它:
导入
C
包(又名cgo)在我们需要公开的每个函数上使用
//export
指令具有空
main
功能