-
解决Jetbrains的开发工具不能运行或调试(run/debug)go/golang程
所属栏目:[大数据] 日期:2020-12-16 热度:188
Go插件 首先确保装了go插件:Files-Settings-Plugins-Browse repositories,搜索Go,然后Install 设置Project SDK 需要给你打开的项目设置一个Go的SDK它才能辨别这是Go的项目,如果没设置请先设置:File-Project Structure,选择Go的SDK,如果还没添加就New一个[详细]
-
etcd golang watch
所属栏目:[大数据] 日期:2020-12-16 热度:60
package main import ( "log" "github.com/coreos/go-etcd/etcd" ) func main() { client := etcd.NewClient( []string{ "http://127.0.0.1:2379",},) for { resp,err := client.Get("config",false,false) if err != nil { log.Fatal(err) } log.Printf("Cur[详细]
-
golang中踩的坑
所属栏目:[大数据] 日期:2020-12-16 热度:132
笔者用iris做为web framework,controller中自定义一个struct用于接受body参数: var (params struct {Docs []map[string]interface{}})err := ctx.ReadJSON(?ms) 上文是正确写法,如果将Docs的第一个字母改为小写,那么就会取不到参数 很细节的东西 但是排[详细]
-
golang如何优雅处理退出
所属栏目:[大数据] 日期:2020-12-16 热度:115
有时候我们想在Go程序中处理Signal信号,比如收到SIGTERM信号后优雅的关闭程序(参看下一节的应用)。 Go信号通知机制可以通过往一个channel中发送os.Signal实现。 首先我们创建一个os.Signal channel,然后使用signal.Notify注册要接收的信号。 package mainim[详细]
-
goquery 增加GBK支持
所属栏目:[大数据] 日期:2020-12-16 热度:139
1、描述 golang默认编码为utf-8,goquery也一样,默认处理的utf-8的页面。但网页中会有各种格式像常见的”gb2312”,”gbk”等。处理这些编码的网页时就会出现头大的乱码.golang没有自带的编解码包,需要借助第三方包处理。 2、simplifiedchinese 处理GBK编码[详细]
-
golang中使用protobuf
所属栏目:[大数据] 日期:2020-12-16 热度:54
安装 goprotobuf 1. 从 https://github.com/google/protobuf/releases 获取 Protobuf 编译器 protoc (可下载到 Windows 下的二进制版本 wget https: // github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz tar zxvf protobuf - 2.[详细]
-
golang tcp 转发
所属栏目:[大数据] 日期:2020-12-16 热度:160
package mainimport ( "os" "io" "fmt" "net" "strings" "strconv" "syscall" "encoding/binary")type CSPair struct { clientaddr net.Addr serveraddr net.Addr clientconn *net.TCPConn serverconn *net.TCPConn}const ( SO_ORIGINAL_DST = 80)var ( conn[详细]
-
Interfaces and Composition for Effective Unit Testing in Gol
所属栏目:[大数据] 日期:2020-12-16 热度:89
翻译: https://nathanleclaire.com/bl...[详细]
-
Golang redis 操作初体验
所属栏目:[大数据] 日期:2020-12-16 热度:131
安装 我使用的是 https://github.com/go-redis/r... 这个 golang 客户端,因此安装方式如下: go get gopkg.in/redis.v4 接着在代码中导入此包即可: import "gopkg.in/redis.v4" 基本操作 创建客户端 通过 redis.NewClient 函数即可创建一个 redis 客户端,这个[详细]
-
Golang1.7 Http和Tcp使用同一个端口做服务
所属栏目:[大数据] 日期:2020-12-16 热度:87
先看一下标准库中http server 的实现type tcpKeepAliveListener struct { *net.TCPListener}func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error ) { tc, err := ln.AcceptTCP() if err != nil { return } tc.SetKeepAlive( true ) tc.SetKeepA[详细]
-
golang使用xpath解析html例子
所属栏目:[大数据] 日期:2020-12-16 热度:102
今天在找golang下的xpath库,使用 libxml2 不错。使用示例: package mainimport ("fmt""log""net/http""github.com/lestrrat/go-libxml2")type MyResponse struct {*http.Response}func (response *MyResponse) String() string {return fmt.Sprint(response[详细]
-
Debian 8 安装 golang
所属栏目:[大数据] 日期:2020-12-16 热度:80
Debian 8 安装 golang 下载 https://golang.org/doc/install?download=go1.7.1.linux-amd64.tar.gz 解压到一个位置 如:/home/lee/SYSPATH 设置环境变量 编辑.profile文件,在最后添加(注意路径) export GOROOT=/home/lee/SYSPATH/go export PATH= $ PATH:[详细]
-
golang 安装常用工具
所属栏目:[大数据] 日期:2020-12-16 热度:84
配置环境变量 GOPATH,下载后的工具源代码和编译后包会安装到GOPATH的第一个配置路径的src,bin,pkg目录下;配置环境变量 GOPATH/bin;配置环境变量 GIT;分别执行下面命令: go get -u -v github.com/nsf/gocodego get -u -v github.com/rogpeppe/godefgo get[详细]
-
Golang1.7使用CGO在Go代码中定义C函数
所属栏目:[大数据] 日期:2020-12-16 热度:189
test.h文件内容: int test( void * fn); void println( char * str ); void callback( void * fn); test.c文件内容:#include test.h int test(void* fn ) { callback ( fn ); println ( "Hello,This from Clang" ); return 0 ;} main. go 文件代码: package[详细]
-
golang windows下 调用外部程序隐藏cmd窗口
所属栏目:[大数据] 日期:2020-12-16 热度:196
隐藏go程序自己的cmd窗口 go build -ldflags -H = windowsgui 隐藏调用的外部程序的cmd窗口 cmd := exec.Command( "sth" ) if runtime.GOOS == "windows" { cmd.SysProcAttr = syscall.SysProcAttr{HideWindow: true }}[详细]
-
Go学习笔记:time包使用
所属栏目:[大数据] 日期:2020-12-16 热度:97
摘要: 和python一样,golang时间处理还是比较方便的,以下按照之前python的时间处理展开 golang时间处理 相关包 "time" 时间戳 当前时间戳 fmt.Println(time.Now().Unix())#1389058332 str格式化时间 当前格式化时间 fmt.Println(time.Now().Format("2006-01-0[详细]
-
一个有关Golang变量作用域的坑
所属栏目:[大数据] 日期:2020-12-16 热度:115
意思也就是说,当你开多线程goroutine的时候,注意慎用包内全局变量。[详细]
-
使用beego快速开发微信公众平台(一)
所属栏目:[大数据] 日期:2020-12-16 热度:53
开启服务器配置 微信公众平台的开发,说穿了一文不值,因为公众平台存在的目的就是给人用的,不存在什么技术门槛,但过程中坑实在太多,记录下来,希望能帮到其他人吧。 找到入口 在基本配置菜单中,可以看到修改配置按钮(群里真有找不到的),点进去 填参数[详细]
-
使用golang快速开发微信公众平台(二):获取accessToken
所属栏目:[大数据] 日期:2020-12-16 热度:195
微信的文档有个很有意思的地方,刚开始你顺着文档看,就可以一步一步完成自己需要的功能,但走着走着,就感到有些混乱,你再顺着文档做,就掉坑里了。 我们在使用golang快速开发微信公众平台(一)微信验证服务器通过后,就要开始着手获取accessToken,这个东[详细]
-
Golang截取字符串(支持中文)
所属栏目:[大数据] 日期:2020-12-16 热度:114
Go内置函数不支持截取字符串一部分 转换为rune slice之后,一个中文就是一个“字符”, 所以你可以一个一个的替换,取出等操作。 func SubString(str string , begin ,length int ) string { fmt.Println( "Substring =" ,str) rs := []rune(str) lth := len[详细]
-
使用golang快速开发微信公众平台(三):定制菜单
所属栏目:[大数据] 日期:2020-12-16 热度:120
在搞定使用golang快速开发微信公众平台(二):获取accessToken后,我们可以开始着手自定义菜单 自定义菜单简单粗暴,post请求里塞入要定义的菜单即可。 开始搓代码 func PushWxMenuCreate(accessToken string,menuJsonBytes []byte) error { postReq,err := ht[详细]
-
使用golang快速开发微信公众平台(四):网页授权
所属栏目:[大数据] 日期:2020-12-16 热度:150
我们在使用golang快速开发微信公众平台(三):定制菜单中已经添加了进入商城的按钮,同时这个按钮在创建的时候也附带有url, 但是你是点不进去的。因为此页面并没有授权。 在开始之前,有几点准备工作: 如果在看这篇文章之前,没有详细看过微信网页授权文档,[详细]
-
使用go的io.Pipe优雅的优化中间缓存
所属栏目:[大数据] 日期:2020-12-16 热度:67
BEFORE 今天发现,go的优势除了它的轻量线程(goroutine)提供了更方便灵活的并发编程模式之外,它的I/O机制也设计的非常给力。 之前,我在向其他服务器发送json数据时,都需要先声明一个 bytes 缓存,然后通过 json 库把结构体中的内容mashal成字节流,再通过[详细]
-
(一)GoLang小记 —— 数组与数组切片
所属栏目:[大数据] 日期:2020-12-16 热度:184
一、创建方式 主要分为: 1、完整创建; 2、切片创建; //创建数组(声明长度)var array1 = [5]int{1,2,3}fmt.Printf("array1--- type:%T n",array1)rangeIntPrint(array1[:])//创建数组(不声明长度)var array2 = [...]int{6,7,8}fmt.Printf("array2--- type[详细]
-
Golang 让你欢喜、让你忧....
所属栏目:[大数据] 日期:2020-12-16 热度:163
主题: 今天小试了一下Golang 一个小时吧!对于习惯了C/C++ 、Python、lua语法的我,上手难度不高,很随意就写出了几个简单的小程序。 但是这个随意也让你在某些地方卡壳了一下: 1、 编译的时候,参数的问题; 2、 包引入机制方面; 3、 语法特点上面; 首[详细]
