目录结构: |-importC | |-lib | | |-libvideo.dll | | |-libvideo.so | |-include | | |-video.h | | |-video.c | |-main.go C的代码如下: 头文件 video.h //video.h #ifndef VIDE...
go
Java调用Golang生成的动态库(DLL,SO)
环境准备 gcc -v 1 如果提示命令没有找到,那么你的电脑里没有gcc,去安装一个,gcc官网:https://gcc.gnu.org/ 如果没安装过gcc的朋友可以直接安装win-build,可以帮你快速安装官网:https://www.mingw-w64....
Golang管道(channel)及其应用
管道(channel) 全局变量加锁 解决程序同步问题 package main import ( "fmt" "sync" "time" ) //需求:现在要计算1-200的各个数的阶乘,并且把各个数的阶乘放入到map中。 //最后显示出...
golang 切片去重
方法一 双重for循环,设置标识,增加到新的切片中,达到去重效果: func main() { var arr = []string{"hello", "hi", "world", "hi", "china", "hello", "hi"} fmt.Println(RemoveRepeatedElement(...
golang实现无限级分类
这是一个简单的递归查找无限分类的示例。本方法一次查询出所有的分类适合无限分类有限,如果无限分类超级多,查找的分类对应的子分类较少,建议用go语言实现无限极分类 这里的ID为正常的商品ID。 PID如果是最大...
golang 排序任意数据结构
使用 sort.Sort() 或者 sort.Stable() 函数可完成对任意类型元素的排序。 一个内置的排序算法需要知道三个东西:序列的长度,表示两个元素比较的结果,一种交换两个元素的方式;这就是 sort.Interface 的三个...
Golang 结构体切片排序
使用 sort.SliceStable(),在排序切片时会保留相等元素的原始顺序。 按照年龄升序排序的示例 func main() { slStdnt := []struct { Name string Age int Height int }{ {"Alice", 23,...
Golang 通过字符串调用方法
package main import ( "fmt" "reflect" ) type Student struct { } func (s *Student) Listen() { fmt.Println("listen") } func main() { student := Student{} value := reflect.V...
golang defer执行顺序
defer函数的执行顺序是先进后出,和栈一样,return 最后执行,当出现panic的时候,就会按照先进后出的顺序执行defer函数,最后才执行panic,return 不再执行。合理利用defer函数可以避免程序异常退出,保证程序的...
Go语言中Kill子进程的正确姿势
* 问题场景 我们在编写部署系统的时候,通常需要在机器上部署一个agent,用来执行部署脚本,为了防止部署脚本写的有问题,长时间hang住,我们通常会为脚本的执行设置一个超时时间,到了时间之后就kill掉该脚本的...