GO
Q446512799
linux、c、tuxedo、oracle、perl、python、postgres
展开
-
python和go调用c动态库兼容linux和windows方法
python调用:import platformif platform.system() == 'Windows': SDK = cdll.LoadLibrary("./libkms_enc_sdk.dll")else: SDK = cdll.LoadLibrary("libkms_enc_sdk.so")go调用:/*#cgo CFLAGS: -I./#cgo linux LDFLAGS: -L../lib -lkms_enc_sdk#cgo windows LDFLAG原创 2021-04-22 10:12:00 · 226 阅读 · 0 评论 -
go自定义包
在go的src目录下创建包路径:mytest创建mytest.gopackage mytest/*方法名首字母要大写*/func NxyTest() { fmt.Println("this is my test")}编写测试demopackage mainimport ( "fmt" "mytest")func main(){ fmt.Println("begin") mytest.NxyTest()}...原创 2020-12-02 09:31:23 · 76 阅读 · 0 评论 -
解决go get失败问题
通过设置代理Linux下export GO111MODULE=onexport GOPROXY=https://goproxy.cnWindows下set GO111MODULE=onset GOPROXY=https://goproxy.cn原创 2020-09-04 10:09:06 · 435 阅读 · 0 评论 -
Cgo中unsigned char*类型的传递
ret := 0 key := []byte("1234567890abcdef") iv := []byte("1234567890abcdef") orig := []byte("hello world!") ret = Sm4CbcEncrypt(orig,cipherText,key,iv) ret = Sm4CbcDecrypt(cipherText[0:ret],plainText,key,iv) fmt.Println(string(plainText[0:ret]))..原创 2020-05-15 16:18:00 · 1919 阅读 · 3 评论 -
GO语言调用c动态库
test.h如下:#include<stdio.h>int add(int a,int b,char *name,int *c);test.c如下:#include "test.h"int add(int a,int b,char *name,int *c){ printf("-----name[%s]\n",name); me...原创 2020-05-08 15:23:07 · 372 阅读 · 0 评论 -
Go简单的socket通讯
服务端代码:package mainimport ( "fmt" "io/ioutil" "net")func main() { tcpServer, _ := net.ResolveTCPAddr("tcp", ":8081") listener, _ := net.ListenTCP("tcp", tcpServer) for { conn, err := l...原创 2019-11-15 16:09:45 · 144 阅读 · 0 评论 -
golang并发编程
测试go并发编程package mainimport ( "fmt" "time")func sum(values []int, resultChan chan int) { sum := 0 for _, value := range values { sum += value } resultChan <- sum}func main() { ...原创 2019-10-29 10:14:27 · 116 阅读 · 0 评论