-
NSQ系列之nsqlookupd代码分析三(详解tcpServer 中的IOLoop方法
所属栏目:[大数据] 日期:2020-12-16 热度:80
NSQ系列之nsqlookupd代码分析三(详解nsqlookupd tcpServer 中的IOLoop) 上一章我们大致了解了 nsqlookupd 中的 tcpServer 的大致的代码, tcpServer 与client也就 nsqd 之间协议处理在 IOLoop 这个方法中,今天我们就分析一下 IOLoop 这个方法 废话不多说[详细]
-
Golang开发环境LiteIDE的设置
所属栏目:[大数据] 日期:2020-12-16 热度:160
原文地址:http://www.cnblogs.com/youxin/p/3594910.html Go 是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言。 去http://golang.org/doc/install#download下载相应的版本。 1、安装go语言; 2、将go/bin目录加入环境变量; 系统变量名:[详细]
-
【GO】MAC安装和测试Go
所属栏目:[大数据] 日期:2020-12-16 热度:110
一、下载安装GO语言包 下载地址: http://download.csdn.net/detail/shuideyidi/7719779 安装说明(按照默认路径安装即可): http://www.jb51.cc/article/p-ydhxqzpx-tz.html 安装成功之后,在terminal运行go,会显示出相关的go命令。 环境变量配置: 在~路径[详细]
-
【Go】Go语言学习笔记-1-简介
所属栏目:[大数据] 日期:2020-12-16 热度:107
争取在入职前把《学习Go语言》这个文档看完,把学习的笔记写在博客中,作为记录,方便以后查阅。 练习的代码都放在我自己的GitHub中,地址为: https://github.com/poemqiong/GoExercises 1. 包阅读方法 例如要查看unicode/utf8包的内容 godoc unicode/utf8[详细]
-
NSQ系列之nsqlookupd代码分析四(详解nsqlookupd中的Regitration
所属栏目:[大数据] 日期:2020-12-16 热度:114
NSQ系列之nsqlookupd代码分析四(详解nsqlookupd中的RegitrationDB操作方法) 上一章我们大致了解了 nsqlookupd 的 tcpServer 中的 IOLoop 协议的处理逻辑,里面有提到一个存储 nsqd 的 PeerInfo 以及 topic channel 数据信息的 RegitrationDB 的一些操作方[详细]
-
Golang加密系列之AES
所属栏目:[大数据] 日期:2020-12-16 热度:66
Golang加密系列之AES Golang加密系列之RSA 这里我们只讨论使用aes加密算法,pkcs7padding,CBC模式模式进行加密。 加密代码: funcEncrypt(plantText,key[]byte)([]byte,error){block,err:=aes.NewCipher(key)//选择加密算法iferr!=nil{returnnil,err}plantTe[详细]
-
Go语言fmt.Printf的使用
所属栏目:[大数据] 日期:2020-12-16 热度:139
Fmt包import "fmt"简介 ?Package fmt包含有格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C但更简单一些。输出格式:一般:%v 基本格式的值。当输出结构体时,扩展标志(%+v)添加成员的名字。the value in a default format. when print[详细]
-
go1.5 动态密码,最简单的实现使用hmac加密
所属栏目:[大数据] 日期:2020-12-16 热度:156
package mainimport ("crypto/hmac""crypto/sha512""fmt""strconv""time")type Key struct {gkey stringskey stringdate func() int64}const (Gkey = "What")func main() {K := Key{gkey: Gkey,date: getdate}b := hmac.New(sha512.New,[]byte(K.Hmac("Hello[详细]
-
使用golang做http接口压力测试并输出到echarts散点图中
所属栏目:[大数据] 日期:2020-12-16 热度:120
go-post-scatter go http post echarts scatter golang 并发测试 http post 并使用echarts输出表表统计运行时间 项目地址:https://github.com/jixieshi999/go-post-scatter 目录介绍 运行Client生成并发报表 分析基本每次连接执行时间out 输出目录config 配[详细]
-
[Golang] 从零开始写Socket Server(5):Server的解耦—通过Rou
所属栏目:[大数据] 日期:2020-12-16 热度:117
在实际的系统项目工程中中,我们在写代码的时候要尽量避免不必要的耦合,否则你以后在更新和维护代码的时候会发现如同深陷泥潭,随便改点东西整个系统都要变动的酸爽会让你深切后悔自己当初为什么非要把东西都写到一块去(我不会说我刚实习的时候就是这么干[详细]
-
【Go】Go语言学习笔记-2-函数
所属栏目:[大数据] 日期:2020-12-16 热度:78
函数是构建程序的基础部件,定义如下: type mytype int func (p mytype) funcname(q int) (r,s int) {return 0,0} 关键字func用于定义一个函数 函数可以绑定到特定的类型上,叫做“接收者”,以后会详细介绍。 funcname是自己定义的函数名称 int类型的变量p[详细]
-
【Go】Go语言学习笔记-3-包
所属栏目:[大数据] 日期:2020-12-16 热度:119
包是函数和数据的集合,用package关键字定义一个包。 文件名不需要与包名一致。 包名的约定是使用小写字符。 Go包可以由多个文件组成,但是使用相同的package name这一行。 名称以大写字母起始的时可导出的,可以在包得外部调用。 构建包的方法:在$GOPATH下[详细]
-
【Go】Go语言学习笔记-4-进阶
所属栏目:[大数据] 日期:2020-12-16 热度:109
Go有指针,然后却没有指针运算,目标是修改一个传入函数的参数的值得效率和可能性,因此它们更像是引用而不是C的指针。 1.内存分配 Go有两个内存分配原语,make和new。 new分配内存 new(T)分配了零值填充的T类型的内存空间,并且返回其地址,一个*T类型的[详细]
-
golang-反射机制
所属栏目:[大数据] 日期:2020-12-16 热度:90
1,写数据库dao层的时候用到了反射机制。在反射的时候要注意你的对象时指针还是结构体这样区别也很大。以下接受几种常用的放射方法 reflect.type of package mainimport ("fmt""reflect")type hehe struct {NameFile string "PrimaryKey"age int}func main()[详细]
-
golang-数据库详解
所属栏目:[大数据] 日期:2020-12-16 热度:59
基本概念 Open() – creates a DB Close() - closes the DB Query() - 查询 QueryRow() -查询行 Exec() -执行操作,update,insert,delete Row - A row is not a hash map,but an abstraction of a cursor Next() Scan() 注意: DB并不是指的一个connection[详细]
-
golang-beego的使用
所属栏目:[大数据] 日期:2020-12-16 热度:196
beego 的安装是典型的 Go 安装包的形式: go get github . com / astaxie / beego 常见问题: git 没有安装,请自行安装不同平台的 git,如何安装请自行搜索。 git https 无法获取,请配置本地的 git,关闭 https 验证: git config -- global http . sslVer[详细]
-
golang-otto JS解释器
所属栏目:[大数据] 日期:2020-12-16 热度:177
otto是一个Go语言实现的JavaScript 解释器 otto是一个Go语言实现的JavaScript的语法分析器和解释器 1 2 3 import ( "github.com/robertkrimen/otto" ) 在虚拟机中运行一些代码 3 4 5 vm := otto.New() vm.Run(` abc = 2 + ; console.log( "The value of abc[详细]
-
godbc中使用mssql的小实例
所属栏目:[大数据] 日期:2020-12-16 热度:101
pre name="code" class="plain"package mainimport ("fmt""github.com/go-xorm/xorm"_ "github.com/lunny/godbc")func main() {Engin,err := xorm.NewEngine("odbc","driver={SQL Server};Server=127.0.0.1;Database=Test; uid=sa; pwd=123456;")if err != n[详细]
-
go-xorm使用mssql的小实例
所属栏目:[大数据] 日期:2020-12-16 热度:150
package mainimport ("fmt""os""time""github.com/go-xorm/core""github.com/go-xorm/xorm"_ "github.com/lunny/godbc")type NxServerState struct {ID int `xorm:"pk not null 'ID'"`GameID int `xorm:"not null 'GameID'"`IssuerId int `xorm:"not null Is[详细]
-
golang把io.ReadCloser类型转化为[]byte
所属栏目:[大数据] 日期:2020-12-16 热度:176
//比如要解析resp.Body(io.ReadCloser),我们可以这样处理body,err:=ioutil.ReadAll(resp.Body) 接着,我们继续分析分析函数 funcReadAll(rio.Reader)([]byte,error){returnreadAll(r,bytes.MinRead)//constMinRead=512}//funcreadAll(rio.Reader,capacityin[详细]
-
关于GOROOT、GOPATH、GOBIN、project目录
所属栏目:[大数据] 日期:2020-12-16 热度:134
GOROOT、GOPATH、GOBIN、project目录 前言:我觉得java程序员学golang很容易上手。关于GOROOT、GOPATH、GOBIN这些环境变量的设置,我隐约感觉到了java的影子(尽管我是一个C++程序员),唯一和java不同的是不能设置“.”。 另外,golang的设计也很明显的透[详细]
-
Golang 常用字符串处理方法汇总
所属栏目:[大数据] 日期:2020-12-16 热度:67
package main import ( "fmt" "strings" //"unicode/utf8" ) func main() { fmt.Println( "查找子串是否在指定的字符串中" ) fmt.Println( " Contains 函数的用法" ) fmt.Println(strings.Contains( "seafood" , "foo" )) //true fmt.Println(strings.Contai[详细]
-
golang http的按序号发送,按序号接收
所属栏目:[大数据] 日期:2020-12-16 热度:169
应用场合:比如http请求,有先后次序,需要实现:先请求(request)先发送,并且读取 (response) 的时候也是遵循这个规则,这个读写构成一个pair(有请求并有返回) 过来,直接上代码吧: func(cc*ClientConn)Do(req*http.Request)(resp*http.Response,errer[详细]
-
golang 反射结构字段类型
所属栏目:[大数据] 日期:2020-12-16 热度:192
golang 反射用法,做个笔记. package mainimport ("fmt""reflect")type roles struct {roleId introleName string}type User struct {Name stringAge intEmail stringNickName stringTelphone intRoles roles}func main() {u := User{Name: "Name",Age: 30,Em[详细]
-
golang获取一串数字中与给定数最接近的数字
所属栏目:[大数据] 日期:2020-12-16 热度:140
今天需要写一个算法,获取一串数字中与给定数最接近的数字,代码如下 package mainimport ( "fmt")func main(){ arr:=[]int{12,16,29,34,39,43,55,64,71,89,90,9} zuijin:=get_zuijin(40,arr) fmt.Println(zuijin)}func get_zuijin(this int,arr []int) int{[详细]
