PHP快速项目JwCode
方便接单 快速开发,快速迭...阅读全文
方便接单 快速开发,快速迭...阅读全文
Gopher China 大会正式启动了,目前为止国内最顶级的 Go 会议,很多大拿分享…… 报名地址: http://gopherchina.org...阅读全文
```go // exeAdress指完整路径 func checkExe2(exeAdress string) { cmd := exec.Command("cmd.exe", "/c", "start "+exeAdress) err := cmd.Run() if err != nil { log.Println("启动失败:", err) } else { log.Println("启动成功!") } } ``...阅读全文
文章来源:https://goframe.org/container/garray/index gset 集合,即不可重复的一组元素,元素项可以为任意类型。 同时,gset支持可选的并发安全参数选项,支持并发安全的场景。 使用场景: 集合操作。 使用方式: import "github.com/gogf/gf/g/container/gset" 接口文档: https://godoc.org/github.com/gogf/gf/g/container/gset func New(unsafe ...bool) *Set func NewSet(unsafe ...bool) *Set func NewFrom(items interface{}, unsafe...bool) *Set f...阅读全文
1、使用nohup ./commond & 这种方法最简单.2、这种方法可以使用信号.
package main import ( "fmt" "os" "os/signal" "syscall" "time" ) func main() { if os.Getppid() != 1 { args := append([]string{os.Args[0]}, os.Args[1:]...) os.StartProcess(os.Args[0], args, &os.ProcAttr{Files: []*os.File{os.Stdin, os.Stdout, os.Stderr}}) return } go func() { var...阅读全文
在用walk写一个窗口程序,当需要执行其它任务的时候,你要用一个新的线程去做,所以想到任务的停止和启动。在go中,很容易可以做到这些,因为go是通过管道通迅的。 package main import ( "fmt" "time" ) func p() { fmt.Println("test") time.Sleep(time.Second * 3) } func worker(ch chan int) { for { select { case <-ch: return //收到信号就退出线程 default: p() } } } func main() { ch := make(chan int) go worker(ch) time.Sleep(time.Second * 10) ch...阅读全文
当我publish了一个消息之后,再启动subscribe去订阅的时候无法订阅到这个消息,而如果是已经启动了subscribe的话,publish一个消息的时候是能够接收到这个订阅的。到底是啥情况呢?难道是我对协议的理解姿势有问题? ...阅读全文
boltdb 的作者Ben Johnson认为 boltdb 的目标已经实现,产品已经stable并被广泛应用,于是决定boltdb保持现状,维护工作也将停止。 coreos fork了一份boltdb并更名为bbolt,将为社区继续提供stable和演进的boltdb。 https://github.com/coreos/bbol...阅读全文
micro new myservice panic: qtls.ClientSessionState not compatible with tls.ClientSessionState goroutine 1 [running]: github.com/lucas-clemente/quic-go/internal/handshake.init.0() /go/src/github.com/lucas-clemente/quic-go/internal/handshake/unsafe.go:20 +0x113 解决方法: 安装 go1.12 版本...阅读全文
golang,控制某个windows服务的状态,去停止或启动,怎么写? 百度了一下,没找到资料. 有没有,有经验的同学,发下相关资料. ...阅读全文
写了个goods_wg.go在/data0/go/src/xiyu/目录,我的go安装在/usr/local/go/目录。我想让goods_wg.go在linux下面实现开机就自动运行这个go文件。我把以下命令 /usr/local/go/bin/go run /data0/go/src/xiyu/goods_wg.go &放到/etc/rc.local里面去,但是开机的时候。依然无法运行这段go,但是我在linux开机之后,直接在linux下面运行 /usr/local/go/bin/go run /data0/go/src/xiyu/goods_wg.go & 这段命令,就能正常运行goods_wg.go了。请问要如何处理...阅读全文
**`# service`** **`src\service\data.go:20: undefined: model`** **`src\service\data.go:26: undefined: model`** `src\service\data.go:34: undefined: model`** `src\service\data.go:39: undefined: model` `src\service\data.go:57: undefined: model` `src\service\data.go:85: undefined: model` `src\service\data.go:100: undefined: model` `src\service\d...阅读全文
o := orm.NewOrm() qs := o.QueryTable("task") err := qs.Filter("date",date ).One(task) 大致代码如上 背景: 1.用的sqlite3 2.存入的“date”数据项类型为time.Time,date同样 问题: 1.存入时“date”数据由Local变成UTC 2.比对时date的内容丢失,本来应该为如: 2014-01-14 09:09:09.3244243 +0000 UTC 变成了 2014-01-14 09:09:09 后面的丢失,导致数据无法比对取出。 这是怎么回事啊?请大神指教...阅读全文
用golang启动一个daemon 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "os" 7 "runtime" 8 "syscall" 9 "time" 10 ) 11 12 func daemon(nochdir, noclose int) int { 13 var ret, ret2 uintptr 14 var err syscall.Errno 15 16 darwin := runtime.GOOS == "darwin" 17 18 // already a daemon 19 if syscall.Getppid() == 1 { 20 return 0 21 } 22 23 // fork off the parent pro...阅读全文
 beego 版本1.9.1 golang 版本 go1.9.3 windows/amd64 使用bee run 运行程序会出现如上问题 在网上 搜了 但是 并没有 解决 ...阅读全文
 决定升级一下试试看,2017.3版本启动好慢...阅读全文
 这是在main 添加,这种方式有什么错误吗...阅读全文
Go-MOA 是使用[ redis ](http://www.oschina.net/p/redis) get请求协议的RPC 框架。 #### MOA Server使用方式 * 安装: 安装ZooKeeper $Zookeeper/bin/zkServer.sh start go get github.com/blackbeans/go-moa/core go get github.com/blackbeans/go-moa/proxy * 定义服务的接口对应 //接口 type DemoResult struct { Hosts []string `json:"hosts"` Uri stri...阅读全文
package main import ( "fmt" "log" "net/http" "os" "os/signal" "syscall" ) func main() { File, err := os.Create("log") if err != nil { fmt.Println("创建日志文件错误", err) return } log.SetOutput(File) ce("pid") } func ce(pid string) { File, err := os.OpenFile(pid, os.O_RDWR|os.O_CREATE, 0644) if err != nil { log.Println(err) return } info, _ := File.Stat() ...阅读全文
go中数组array 数组是具有相同 唯一类型 的一组已编号且长度固定的数据项序列(这是一种同构的数据结构); 特点: 数据类型统一 长度固定 // 声明数组格式 var identifier [len]type // 示例 var arr [5]int // 在内存中的结构:每个元素是一个整形值,当声明数组时所有的元素都会被自动初始化为默认值 0。 // arr 的长度是 5,索引范围从 0 到 4。 // 第一个元素是 arr1[0],第三个元素是 arr[2];总体来说索引 i 代表的元素是 arr[i], // 最后一个元素是 arr[len(arr1)-1]。 package main import "fmt" func main() { arrayTest() } // arra...阅读全文
 今天升级了下goglang,原封不动的导入原来的项目,正常启动可以,debugger模式下启动不了,有没有大神可以解决 看了启动命令中,多用了-gcflags "-N -l" -a 的参数。这个参数是干什么的 ...阅读全文
image.png goverder 不再使用 该怎么办!! 转成mod cd 到你到项目下 go mod init 项目名 go mod vendor 如果遇到下面这个问题 image.png 到处理方法 git拉一个分支 然后 将 github.com/smartwalle/alipay 改为 github.com/smartwalle/alipay/v3 v3.1.3 重新下载指定版本到包 go run main.go 注意以后新的项目统一使用mod管理就可以了!!!!...阅读全文
问下 GOLANG写的可执行Linux程序如何可以 利用Linux的 chkconfig --add命令添加为服务呢 或则推荐GOLANG什么实现 Linux 自启动服务呢 init.d下为服务启动目...阅读全文
文章来源:https://goframe.org/container/garray/index garray 数组容器,提供普通数组,及排序数组,支持数据项唯一性矫正,支持可选的并发安全参数控制。 使用场景: 数组操作。 使用方式: import "github.com/gogf/gf/g/container/garray" 接口文档: https://godoc.org/github.com/gogf/gf/g/container/garray func New(unsafe ...bool) *Array func NewArray(unsafe ...bool) *Array func NewArrayFrom(array []interface{}, unsafe ...bool) ...阅读全文
如图启动了如下的进程,为啥会有5个线程?已知的是会有个sysmon线程,但其他的线程是干嘛的?  ...阅读全文
debug按钮没法...阅读全文
# nsqadmin nsqadmin 在启动是创建了两个 channel * exitChan: 控制程序的退出; * signalChan: 处理系统信号; ## 启动 ```go // 保存配置 opts := nsqadmin.NewOptions() options.Resolve(opts, flagSet, cfg) nsqadmin := nsqadmin.New(opts) nsqadmin.Main() ``...阅读全文
关于LRU,可以参考LRU LFU FIFO LRU全称是Least Recently Used,即最近最久未使用的意思。如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。而用什么数据结构来实现LRU算法呢? 可能大多数人都会想到:用一个数组来存储数据,给每一个数据项标记一个访问时间戳,每次插入新数据项的时候,先把数组中存在的数据项的时间戳自增,并将新数据项的时间戳置为0并插入到数组中。每次访问数组中的数据项的时候,将被访问的数据项的时间戳置为0。当数组空间已满时,将时间戳最大的数据项淘汰。这种实现思路很简单,但是有什么缺陷呢?需要不停地维护数据项的访问时间戳,另外,在插入数据、删除数据以及访问数据...阅读全文
Debian 项目于 6 日正式宣布发布了 Debian 的最新稳定版本 Debian GNU/Linux 10 “Buster” 操作系统。经过两年多的开发,Debian Buster(Debian 10)现已宣布达到稳定,可用于生产环境中部署。它是一个主要版本,带来了许多更新的组件和许多新功能和改进。“经过 25 个月的开发,Debian 项目很自豪地推出了新的稳定版本 10(代号 buster),它将在未来 5 年内得到 Debian 安全团队和 Debian 长期支持团队的共同支持。”Debian GNU/Linux 10 “Buster” 新亮点Debian GNU/Linux 10 “Buster” 版本的主要新功能包括:GNOME 桌面环境的显示服务器将采用更安全的 Wayla...阅读全文
参考issue This error (ENOSPC) comes from the inotify_add_watch syscall, and actually has multiple meanings (the message comes from golang). Most likely the problem is from exceeding the maximum number of watches, not filling the disk. This can be increased with the fs.inotify.max_user_watches sysctl, but I would investigate what else is creating so m...阅读全文
准备VSCode 在官网下载最新版的VSCode: Visual Studio Code - Code Editing. Redefined 安装Golang插件 打开扩展面板 VSCode->查看->扩展 找到Go插件 在搜索框里输入Go, 找到第二行写有 Rich Go language support for Visual Studio Code的插件, 点击安装 重启编辑器 配置启动项 打开调试面板 VSCode->查看->调试 添加调试目标 在"没有调试"的下拉框中点击"添加配置.." 添加目标调试配置 { "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "go", "request": "la...阅读全文
正确解析class文件是万里长征第一步。本篇我们会全程使用golang完成class文件的解析工作。 数据类型 JVM的class文件完全是二进制文件,最小单位是字节,也有数据类型,但都是字节的整数倍(废话)。规范中class文件一共有两类数据,一种是无符号整数,一种是表。无符号整数一共有u1,u2, u4, u8四种类型,分别表示8bit, 16bit, 32bit, 64bit的无符号整数。表则是无符号整数的集合,class文件中在出现表之前都会先跟着一个u2类型的长度数据,表名后面表的总长度,这样才能正确解析表。 另外还要注意字节序的问题,JVM规范规定class文件统一采用Big Endian字节序,也就是低地址存储高位,高地址存放低位。如果是用C/C++语言写JVM,则程序使用的字...阅读全文