-
golang程序在windows上,注册为服务
所属栏目:[大数据] 日期:2020-12-16 热度:60
package main import ( "log" "net/http" "os" "github.com/jander/golog/logger" "github.com/kardianos/service" ) type program struct {} func (p *program) Start(s service.Service) error { go p.run() return nil } func (p *program) run() { // 代[详细]
-
golang直接调用ffmpeg预编译类库(windows)已更新
所属栏目:[大数据] 日期:2020-12-16 热度:88
MinGW介绍 MINGW(Minimalist GNU on Windows)是一个可以在windows下编译Linux程序的仿真linux编译环境,他提供了linux下的C、C++头文件、系统库和一些linux下的编译工具集合,例如gcc、g++和make工具。使得编译出来的二进制可以在windows上运行。(此前的 cy[详细]
-
Golang1.7.3实现启动单一实例代码片段
所属栏目:[大数据] 日期:2020-12-16 热度:132
var ( NameMutex = "Shamem" kernel = syscall.NewLazyDLL( "kernel32.dll" )) const ( IPC_RMID = 0 IPC_CREAT = 00001000 IPC_EXCL = 00002000 IPC_NOWAIT = 00004000 ) func Lock_windows(Name string ) ( uintptr , bool ) { id,_,err := kernel.NewProc[详细]
-
Golang锁失效原因之value receiver
所属栏目:[大数据] 日期:2020-12-16 热度:85
先说结论 golang中,值类型在作为方法参数和方法的接受者的时候,都需要进行值的拷贝,所以,使用值类型的时候要多加注意。 对于方法的接受者,如果方法需要修改接受者的某个变量值,那么就应该把接受者设计成pointer receiver,否则对于receiver变量的修改[详细]
-
golang 调用 php7
所属栏目:[大数据] 日期:2020-12-16 热度:51
使用 https://github.com/taowen/go-php7 基于 https://github.com/deuill/go-php 修改而来,fork缘由(https://github.com/deuill/go-...) 执行php文件 func Test_exec(t *testing.T) { engine.Initialize() ctx := engine.Context{ Output: os.Stdout,} e[详细]
-
TODO:一不顺眼就换字体Go之代码篇
所属栏目:[大数据] 日期:2020-12-16 热度:56
TODO:一不顺眼就换字体Go之代码篇 image包实现了一个基本的2D图像库,该包中包含基本的接口叫做image,这个里面包含color,这个将在image/color中描述;新增字体font,进行字体编辑。早在几年前Go image包出来的时候就有人实现了图片式水印处理,处理起来很[详细]
-
Golang 实现Bit数组
所属栏目:[大数据] 日期:2020-12-16 热度:82
** 《The Go Programming Language》 笔记 ** import ( "bytes" "fmt" )const target int = 32 (^uint( 0 ) 63 ) //判断当前系统是32位还是64位 type IntSet struct { words []uint}func (s *IntSet) Has(x int) bool { word ,bit := x/target,uint(x%target[详细]
-
Golang 排序
所属栏目:[大数据] 日期:2020-12-16 热度:139
《The Go Programming Language》 笔记 //sorting.go package sorting import ( "fmt" "os" "sort" "text/tabwriter" "time" ) type Track struct { Title string Artist string Album string Year int Length time.Duration} type customSort struct { t [][详细]
-
七牛Golang SDK简单使用教程
所属栏目:[大数据] 日期:2020-12-16 热度:110
最近试用了一下七牛的存储服务, 由于最近在使用golang,所以就拿七牛的golang sdk来进行相应的操作。 为了不至于以后使用时,总是去查七牛的文档(七牛的文档有些地方需要来回查), 所以在此简单做一个基本的使用教程。 安装 go get -u qiniupkg.com/api.v7[详细]
-
golang中的类型系统
所属栏目:[大数据] 日期:2020-12-16 热度:186
序: 在Java语言中,存在两套完全独立的类型系统:一套是值类型系统,主要是基本类型,如byte int boolean char double等,这些类型基于值语义;一套是以object类型为根的对象类型系统,这些类型可以定义成员变量和成员方法,可以有虚函数,基于引用语义,只[详细]
-
Golang 目录文件数量和大小统计
所属栏目:[大数据] 日期:2020-12-16 热度:142
《The Go Programming Language》笔记 import ( "flag" "fmt" "io/ioutil" "os" "path/filepath" "sync" "time" ) //获取目录dir下的文件大小 func walkDir(dir string ,wg *sync.WaitGroup,fileSizes chan - int64 ) { defer wg.Done() for _,entry := rang[详细]
-
Golang 并发的退出
所属栏目:[大数据] 日期:2020-12-16 热度:187
《The Go Programming Language》笔记 关闭一个channel,操作channel之后的代码可以立即被执行,并且会产生零值。 广播机制:用关闭一个channel来进行广播。创建一个退出channel,不会向这个channel发送任何值。 import ( "flag" "fmt" "io/ioutil" "os" "pa[详细]
-
golang fork 系统资源共享可行性验证
所属栏目:[大数据] 日期:2020-12-16 热度:90
环境: linux gcc go gdb 如左边代码: go buildtest.go ./test s ./test c ./test c 可见 2 个 .dat 日志文件都有输出,说明 2 个父子进程都有 accept 成功,进一步说明 fork 在 golang 里面可用,也验证了操作系统的父子进程资源可共享 package main impor[详细]
-
怎么使用golang的channel做广播
所属栏目:[大数据] 日期:2020-12-16 热度:174
怎么使用golang的channel做广播 使用golang中的channel做广播需要使用到golang并发模式中的扇出模式,也就是说多个接入点监听一个输入源。这种模式的结果是,只要输入源输入一个消息,任何一个监听者都能获取到这个消息。这里仅有一个例外就是channel关闭。[详细]
-
golang中的匿名组合
所属栏目:[大数据] 日期:2020-12-16 热度:102
确切地说,Go语言也提供了继承,但是采用了组合的文法,所以我们将其称为匿名组合: type Base struct { Name string } func (base *Base) Foo() {...} func (base *Base) Bar() {...} type Foo struct { Base ... } func (foo *Foo) Bar() { foo.Base.Bar()[详细]
-
【原创】Packet Analysis in Golang
所属栏目:[大数据] 日期:2020-12-16 热度:101
基于 golang.org/x/net 这个 package 能行么? 原文:这里 It's not so easy,and golang.org/x/net is not very helpful in this case. You need to: Set your network interface in promiscuous mode. This is OS dependent and will need privileges. Read[详细]
-
Golang 并发非阻塞缓存
所属栏目:[大数据] 日期:2020-12-16 热度:53
《The Go Programming Language》笔记 import "sync" type Func func (key string ) ( interface {},error) type result struct { value interface {} err error} type entry struct { res result ready chan struct {} //closed when res is ready } type M[详细]
-
TODO:Golang语言TCP/UDP协议重用地址端口
所属栏目:[大数据] 日期:2020-12-16 热度:105
TODO:Golang语言TCP/UDP协议重用地址端口 650) this.width=650;" class="alignnone size-full wp-image-977" src="http://img.jb51.cc/vcimg/static/loading.png" width="300" height="337" alt="TODO:Golang语言TCP/UDP协议重用地址端口" style="border:0[详细]
-
golang base64编解码
所属栏目:[大数据] 日期:2020-12-16 热度:167
@bolun365 package main import ( "encoding/base64" "io/ioutil" ) const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" ) var coder = base64.NewEncoding(base64Table) func base64Encode(src [] byte ) string {[详细]
-
Golang Display递归打印
所属栏目:[大数据] 日期:2020-12-16 热度:51
《The Go Programming Language》笔记 Golang的反射由reflect包提供支持,有两个重要类型:一个Type表示一个Go类型,它是一个接口。一个Value可以持有任意类型的值。 import ( "fmt" "reflect" "strconv" )func Display(name string, x interface{}) { fmt .[详细]
-
Golang动态编译版本信息
所属栏目:[大数据] 日期:2020-12-16 热度:93
Makefile BUILD=`date +%FT%T%z`COMMIT_SHA1=`git rev-parse HEAD`LDFLAGS=-ldflags "-X main.BUILD=${BUILD} -X main.COMMIT_SHA1=${COMMIT_SHA1}"# Builds the projectall: app: go build ${LDFLAGS} -o ../bin/app/app github.com/winxxp/cmd/app main.go[详细]
-
golang接收post接收xml或者json数据
所属栏目:[大数据] 日期:2020-12-16 热度:154
今天测试用GO语言链接微信公众平台,一切都很顺利,但是发来的XML数据一直收不到。 将所有有可能的函数和值都测试过了,例如Request.Form,Request.PostForm,Request.MultiPartForm等都没有…… 最后发现它竟然藏在Request.Body里面,包的解释不完善害死人[详细]
-
Golang1.7.3发送大附件邮件
所属栏目:[大数据] 日期:2020-12-16 热度:164
package main import ( "bytes" "crypto/tls" "encoding/base64" "errors" "fmt" "io" "mime" "mime/multipart" "mime/quotedprintable" "net/smtp" "net/textproto" "os" "path/filepath" "strings" ) const MemMaxSize = ( 1 20 ) * 10 func main() { var[详细]
-
golang跨平台编译
所属栏目:[大数据] 日期:2020-12-16 热度:117
golang中跨平台交叉编译涉及两个重要的环境变量: GOOS和GOARCH ,分别代表Target Host OS和Target Host ARCH,如果没有显式设置这些环境变量,我们通过go env可以看到go编译器眼中这两个环境变量的当前值: go envGOARCH="amd64"GOBIN="/home/work/software[详细]
-
Golang 流式解析 Json
所属栏目:[大数据] 日期:2020-12-16 热度:117
json-iterator 库: https://github.com/json-iterator/go 动机 现有的golang解析json的库都是push模式的,缺少一种基于pull api的库。另外就是看一下golang解析json的速度到底如何,还有多少的提高空间。 API 风格 api 风格上是以 StAX 为基础,但是针对 JS[详细]
