-
golang使用execCommand调用的时候子进程如何杀掉处理方法
所属栏目:[大数据] 日期:2020-12-16 热度:58
最近在写一个应用,下面是用到的代码,网上也有挺多的网友遇到这种问题,下面是我的解决方法,分享一下. 使用方法,想exec.Command的时候使用SetPgid设置进程组,杀的时候使用KillAll杀死全部调用产生的进程 代码实现: Linux处理方法: package systemimport ("sys[详细]
-
glide使用
所属栏目:[大数据] 日期:2020-12-16 热度:182
github: https://github.com/Masterminds/glide document: http://glide.readthedocs.io/en/stable/?badge=stable golang环境设置 设置环境变量 使用vendor目录GO15VENDOREXPERIMENT=1 安装 获取$ go get github.com/Masterminds/glide进入目录$ cd github.c[详细]
-
Service层的是否必要性分析及案例
所属栏目:[大数据] 日期:2020-12-16 热度:118
序言 此前,我看过这样的一个提问“Yii2框架中,有必要再分离service层么?”,从别人的回答中,自己也收获了答案,但我觉得还需要有个活生生的粟子,才具有更加清晰明了和强有力的说服力。如对我的实战经历感兴趣的继续往下看,喜欢的还可以点击推荐和收藏[详细]
-
golang 编译出错
所属栏目:[大数据] 日期:2020-12-16 热度:110
golang编译的时候(go build) 提示 $go build#github.com/pojoin/goliscompile: reading input: EOF 原来我的系统重新安装后,直接将原来的$GOPATH拷贝过来的 将$GOPATH/pkg/目录清空即可。[详细]
-
golang 自定义包提示
所属栏目:[大数据] 日期:2020-12-16 热度:159
golang,解决自定义包提示问题。 go install [package name][详细]
-
Golang自玩项目中一个重连机制实现.
所属栏目:[大数据] 日期:2020-12-16 热度:95
package tcp_listen type Connection interface { Read() (value interface {},tag byte ,err error) Write(tag byte ,body interface {}) (err error) Close() error LocalAddr() string RemoteAddr() string } type isReconn struct { reconn bool connFun[详细]
-
Go语言_Go_Golang 逐行读取文件
所属栏目:[大数据] 日期:2020-12-16 热度:107
示例代码 // File_test2 project main.gopackage mainimport ("bufio""fmt""io""os""strings")func ReadLine(fileName string,handler func(string)) error {f,err := os.Open(fileName)if err != nil {return err}buf := bufio.NewReader(f)for {line,err :[详细]
-
golang并发编程的两种限速方法
所属栏目:[大数据] 日期:2020-12-16 热度:194
引子 golang提供了goroutine快速实现并发编程,在实际环境中,如果goroutine中的代码要消耗大量资源时(CPU、内存、带宽等),我们就需要对程序限速,以防止goroutine将资源耗[详细]
-
PhalGo-Respones
所属栏目:[大数据] 日期:2020-12-16 热度:104
PhalGo-Respones 在处理请求 Api 请求中,除了对 Request 之外最重要的就是 Response 了,PhalGo 支持两种格式的参数返回一种是 Josn 一种是 XML,在 PhalGo 中默认使用JSON进行返回,可以在入口文件进行全局返回参数配置或在摸个接口内部指定此接口返回的参数类[详细]
-
Golang 通关初级(1)
所属栏目:[大数据] 日期:2020-12-16 热度:123
原文 Hello 世界 包 导入 导出名 函数 多值返回 命名返回值 变量 变量的初始化 短变量声明 基本类型 零值 类型转换 类型推导 常量 数值常量 for if switch defer 原文 https://tour.golang.org/welcome/1 Hello, 世界 package main import "fmt" func main([详细]
-
golang以服务方式运行
所属栏目:[大数据] 日期:2020-12-16 热度:152
golang开发的二进制程序,一般需要长期后台运行的,在linux上可以用supervisor或upstart或systemd等第三方守护进程来实现。其实golang自己也可以实现以服务的形式常驻后台。 需要的库 https://github.com/kardianos/service 这个库里面有两个接口定义,一个[详细]
-
golang?sql.DB??????????????
所属栏目:[大数据] 日期:2020-12-16 热度:200
最近在写一个用于存储protobuf配置的配置管理服务,业务逻辑不难,2天就搞定,但是后续bug不少,也踩了很多坑,在这里记录下。 首先,一直以为golang内的sql模块是单链接的,所以一开始在每个goroutine内都open了一个DB,并写了一个连接池进行管理。后续发现[详细]
-
Golang 通关初级(2)
所属栏目:[大数据] 日期:2020-12-16 热度:80
原文 https://tour.golang.org/welcome/1 指针 Go 具有指针。 指针保存了变量的内存地址。 类型 *T 是指向 T 类型值的指针。其零值为 nil 。 var p * int 操作符会生成一个指向其操作数的指针。 i := 42 p = i 操作符表示指针指向的底层值。 fmt.Println(*p)[详细]
-
golang实现NTP协议获取服务器时间
所属栏目:[大数据] 日期:2020-12-16 热度:111
// file project main.go package main import ( "encoding/binary" "fmt" "net" "os" "os/signal" "sync" "time" ) const ( NTP_SERVER_IP = "time.windows.com" /*NTP IP*/ NTP_PORT_STR = "123" /*NTP专用端口号字 符串*/ NTP_PCK_LEN = 48 LI = 0 VN = 3[详细]
-
golang之cgo---类型转换小试牛刀之C结构体和go结构体转换
所属栏目:[大数据] 日期:2020-12-16 热度:181
??上一篇文章讲了 go与C基本类型转换 (http://www.jb51.cc/article/p-tjjhakxl-ko.html),但是在实际项目中用到的不仅仅是基本类型之间的转换,更多的是函数封装中的值传递和指针传递,如何在C功能函数中和Go中进行各种值和指针传递呢?根本方法还是利用基本[详细]
-
golang 后端开发思维导图
所属栏目:[大数据] 日期:2020-12-16 热度:179
自己画的golang后台开发思维导图,当作笔记。 转载请注明原作者。[详细]
-
golang之cgo---调用C/C++动态库函数
所属栏目:[大数据] 日期:2020-12-16 热度:58
??之前说过golang调用C代码的方式可以通过cgo或者是swig,而cgo是 不能使用 C++相关的东西的,比如标准库或者C++的面向对象特性。怎么办,将c++的功能函数封装成C接口,然后编译成动态库,或者是功能较为简单的可以直接嵌入到go源文件中。 ??cgo的使用是在li[详细]
-
golang的 Web 开发,提示找不到模板文件
所属栏目:[大数据] 日期:2020-12-16 热度:173
编译后的可执行文件,与模板文件在同一目录,报错:no files 代码: package mainimport ("fmt""html/template""log""net/http""os""strings")func sayhelloName(w http.ResponseWriter,r *http.Request) {r.ParseForm() // 解析URL传递的参数, 对于post则[详细]
-
Golang defer 使用时的坑
所属栏目:[大数据] 日期:2020-12-16 热度:60
defer是golang语言中的关键字,用于资源的释放,会在函数返回之前进行调用。一般采用如下模式: f,err := os.Open(filename)if err != nil { panic(err)}defer f.Close() 如果有多个defer表达式,调用顺序类似于栈,越后面的defer表达式越先被调用。 不过如[详细]
-
配置go服务器
所属栏目:[大数据] 日期:2020-12-16 热度:172
对于服务端来说,配置服务器,将项目部署到服务端是比较麻烦的事情。这里由于使用的是国外的云服务器的原因,所以并不是像一般的配置服务器那么顺利,甚至差别还是比较大的。这里使用的是CentOS7.2版本的VPS。 在pycharm中,通过Tools-deployment-configurat[详细]
-
Golang Unit Test单元测试
所属栏目:[大数据] 日期:2020-12-16 热度:163
1. Golang单元测试对文件名和方法名要求 文件名必须以 xx_test.go 命名 方法必须是 Test[^a-z] 开头 方法参数必须 t *testing.T 2. go test 参数解读 go test 是go语言自带的测试工具,其中包含的是两类, 单元测试 和 性能测试 。通过 go help test 可以看[详细]
-
Golang web 开发实战之 session 缓存:如何使用 redigo 将一个结
所属栏目:[大数据] 日期:2020-12-16 热度:176
自定义 session 结构体: type Session struct {SessionID string `json:"sessionId" bson:"sessionId"`User *User `json:"-" bson:"user"`UserType string `json:"userType" bson:"userType"`NickName string `json:"nickName" bson:"nickName"`CreateTime t[详细]
-
Golang1.7使用kernel32.dll 读取共享内存,代码小示例
所属栏目:[大数据] 日期:2020-12-16 热度:72
package main import ( "fmt" "syscall" "unsafe" ) func main() { ShareMemName,_ := syscall.BytePtrFromString( "ShareMemory" ) //ShareMemory共享内存名称. var sharememname = uintptr (unsafe.Pointer(ShareMemName)) kernet32 := syscall.NewLazyDLL[详细]
-
open-falcon-agent源码学习
所属栏目:[大数据] 日期:2020-12-16 热度:130
最近学习falcon,看了源码和极客学院的视频解析,画了调用结构、关系,对主要的代码进行了注释 代码地址:https://github.com/beyondskyw... 标签(空格分隔): falcon go 监控数据 机器性能指标:cpu,mem,网卡,磁盘…… 业务监控 开源软件状态:Nginx,[详细]
-
Go语言学习笔记(一)
所属栏目:[大数据] 日期:2020-12-16 热度:82
主要是看《the way to go》时的一些笔记,比较凌乱,内容也不全,以后慢慢补充。 标签(空格分隔): go 监控 关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type contin[详细]
