go

Golang 调用 C/C++ 库

目录结构: |-importC | |-lib | | |-libvideo.dll | | |-libvideo.so | |-include | | |-video.h | | |-video.c | |-main.go C的代码如下: 头文件 video.h //video.h #ifndef VIDE...

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 defer执行顺序

defer函数的执行顺序是先进后出,和栈一样,return 最后执行,当出现panic的时候,就会按照先进后出的顺序执行defer函数,最后才执行panic,return 不再执行。合理利用defer函数可以避免程序异常退出,保证程序的...

Go语言中Kill子进程的正确姿势

* 问题场景 我们在编写部署系统的时候,通常需要在机器上部署一个agent,用来执行部署脚本,为了防止部署脚本写的有问题,长时间hang住,我们通常会为脚本的执行设置一个超时时间,到了时间之后就kill掉该脚本的...