-
Golang Web 的小技巧(持续更新)
所属栏目:[大数据] 日期:2020-12-16 热度:136
1. 避免注入(转义) name := url.QueryEscape(user.Name) 2. 使用 middleware 对每个请求做处理,使用 session中间层 对一类请求作处理。 中间层原理 中间层依靠 context 传递变量。一个请求的 context不仅仅绑定了 request和 response,还绑定了 handlers[详细]
-
如何检查Golang中是否存在由路径表示的文件或目录?
所属栏目:[大数据] 日期:2020-12-16 热度:191
我想检查在我的Golang代码中的文件./conf/app.ini的存在。 但我找不到一个好的方法来做到这一点。 我知道在Java中有一个File的方法:public boolean exists(),如果文件或目录存在则返回true。 但是如何在戈兰做呢? // exists returns whether the given fi[详细]
-
Golang xml 使用
所属栏目:[大数据] 日期:2020-12-16 热度:112
解析和读取规则 golang对xml的解析和读取是通过stuct和refect实现的,对于struct中的tag以什么方式对应到xml的元素上,golang的文档中做了如下描述: 结构体中的XMLName字段或者类型为xml.Name的字段,会被删除.使用此字段tag上定义的属性进行解析 结构体tag中”[详细]
-
Golang教程:(十五)指针
所属栏目:[大数据] 日期:2020-12-16 热度:156
原文:https://golangbot.com/pointers/ 这是本Golang系列教程的第十五篇。 什么是指针 指针是存储一个变量的内存地址的变量。 在上图中,变量 b 的值是 156 ,存储在地址为 0x1040a124 的内存中。变量 a 存储了变量 b 的地址。现在可以说 a 指向 b 。 指针[详细]
-
Golang教程:(十六)结构体
所属栏目:[大数据] 日期:2020-12-16 热度:151
原文:https://golangbot.com/structs/ 欢迎来到Golang系列教程的第十六篇。 什么是结构体 结构体(struct)是用户自定义的类型,它代表若干字段的集合。有些时候将多个数据看做一个整体要比单独使用这些数据更有意义,这种情况下就适合使用结构体。 比如将[详细]
-
Golang教程:(十七)方法
所属栏目:[大数据] 日期:2020-12-16 热度:94
原文:https://golangbot.com/methods/ 欢迎来到Golang系列教程的第十七篇。 什么是方法 一个方法只是一个函数,它有一个特殊的接收者(receiver)类型,该接收者放在 func 关键字和函数名之间。接收者可以是结构体类型或非结构体类型。可以在方法内部访问接[详细]
-
Golang教程:(十八)接口 - I
所属栏目:[大数据] 日期:2020-12-16 热度:175
原文:https://golangbot.com/interfaces-part-1/ 欢迎来到Golang系列教程的第十八篇。这个接口的第一部分,一共有两部分。 什么是接口 在面向对象语言中,接口一般被定义为 : 接口定义了一个对象的行为 。它仅仅指定了一个对象应该做什么。具体怎么做(实[详细]
-
Golang教程:(十九)接口 - II
所属栏目:[大数据] 日期:2020-12-16 热度:178
原文:https://golangbot.com/interfaces-part-2/ 欢迎来到Golang系列教程的第十九篇。这是介绍接口的第二篇。如果你还没有阅读第一篇,可以在这里阅读。 用指针接收者实现接口 在 接口 - I 中所有例子都是以值为接收者。也可以使用指针接收者来实现接口。让[详细]
-
Go语言学习之strconv包(The way to go)
所属栏目:[大数据] 日期:2020-12-16 热度:182
生命不止,继续 go go go !!! 今天跟大家一起分享strconv包,strconv是golang用来做数据类型转换的一个库。 文档地址: https://golang.org/pkg/strconv/ 作用: Package strconv implements conversions to and from string representations of basic data[详细]
-
如何在Golang中运行exec.Command时调试“exit status 1”错误
所属栏目:[大数据] 日期:2020-12-16 热度:162
当我运行下面的代码: cmd := exec . Command ( "find" , "/" "-maxdepth" "1" "-exec" "wc" "-c" "{}" "" ) var out bytes Buffer cmd Stdout = err Run () if != nil { fmt Println ( err return } "Result: " + out String ()) 我收到这个错误: exit s[详细]
-
GoLang数组初始使用方法以及作为函数参数(1)
所属栏目:[大数据] 日期:2020-12-16 热度:155
[...] ,用于数组初始化时,不需要指定数组长度,会自动计算数组长度。 执行结果[详细]
-
深入了解 gRPC:协议
所属栏目:[大数据] 日期:2020-12-16 热度:70
RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语音对接 TiKV 了。 gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后在介绍下 gRPC[详细]
-
Golang教程:(二十一)协程
所属栏目:[大数据] 日期:2020-12-16 热度:154
原文:https://golangbot.com/goroutines/ 在上一篇教程中,我们讨论了并发,以及并发和并行的区别。在这篇教程中我们将讨论在Go中如何通过Go协程实现并发。 什么是协程 Go协程(Goroutine)是与其他函数或方法同时运行的函数或方法。可以认为Go协程是轻量级[详细]
-
golang环境下的日志记录器-系列之一
所属栏目:[大数据] 日期:2020-12-16 热度:158
本小结为日志器基础组件loggor 它主要实现: 1.日志器配置信息配置(调试模式、日志类型编码、日志切分模式) 2.日志文件的建立与数据输出 输出日志格式: TIMEFORMAT LOG_TYPE BODY 2006/01/02 15:04:05 1 日志信息 下载页面 http://download.csdn.net/down[详细]
-
golang环境下的日志记录器-系列之二
所属栏目:[大数据] 日期:2020-12-16 热度:109
本节工具类对loggor进行了异步封装,优化了日志输出时的线程并发,在高并发的场合适用,但会增加CPU负荷及数据落地时序有一定影响,使用接口无缝兼容loggor工具类 asyncLoggor.go //@description异步日志器,将同步日志器封装为异步//@author chenbintao//@da[详细]
-
golang环境下的日志记录器-系列之三
所属栏目:[大数据] 日期:2020-12-16 热度:122
本小结为基于loggor实现的golang通用日志记录器,用于记录开发过程中的各类非业务日志(业务日志可通过设置不同的日志类型,以一定的切分方式,输出至指定文件) 支持日志的输出方式: 1.输出至标准输出 2.输出至日志文件 3.网络输出(暂未支持) 下载页面 htt[详细]
-
golang p2p udp server
所属栏目:[大数据] 日期:2020-12-16 热度:92
golang p2p udp server http://www.dotcoo.com/golang-p2p-udppackage mainimport ( "net" "encoding/binary" "encoding/hex" "log" "time")const ( // login client - server CMD_LOGIN byte = byte(iota) CMD_LOGIN_RES // user list server - client CMD_[详细]
-
我学xingo golang服务器之-xingo的单进程,集群服务器的配置和初
所属栏目:[大数据] 日期:2020-12-16 热度:132
我学xingo golang服务器之-xingo的单进程,集群服务器的配置和初始化过程 上一节 学习了xingo_demo的启动过程,顺便学习了,启动tcp,rpc和cluster集群服务器的过程, 这三个服务器的启动方式类似,但是 配置信息不同 ,这地方还是要注意,所以这一节我提取出[详细]
-
Go 语言的Template Package
所属栏目:[大数据] 日期:2020-12-16 热度:86
理解template package之前,最好能快速看一下Go的一些数据结构,比如struct,array 和slice,这些数据结构在template 里面会被经常用到。 Struct struct是一个包含多个field的集合,跟C语言的结构体非常类似,可以用关键字type以及struct来定义一个struct。例[详细]
-
Golang依赖管理工具:glide从入门到精通使用
所属栏目:[大数据] 日期:2020-12-16 热度:153
介绍 不论是开发Java还是你正在学习的Golang,都会遇到 依赖管理 问题。Java有牛逼轰轰的Maven和Gradle。 Golang亦有godep、govendor、glide、gvt、gopack等等,本文主要给大家介绍gilde。 glide是Golang的包管理工具,是为了解决Golang依赖问题的。 为什么[详细]
-
Golang gRPC 示例
所属栏目:[大数据] 日期:2020-12-16 热度:196
Golang gRPC 示例 1、安装gRPC runtime go get google.golang.org/grpc 为了自动生成Golang的gRPC代码,需要安装protocal buffers compiler以及对应的GoLang插件 2、protocal buffer安装 从https://github.com/google/protobuf/releases下载安装包,例如:pr[详细]
-
Golang 解决"no buildable Go source file in"问题
所属栏目:[大数据] 日期:2020-12-16 热度:169
问题】 我有一个文件夹,文件夹名字叫 12 ,并且我创建了一个Go源文件 12_test.go ,代码如下: package main import "fmt" func main () { fmt.Println( "Hello world" )} 运行下面命令时出了错: go build 12 _test. go "go build command-line-arguments:[详细]
-
golang post发送application/json数据到服务器
所属栏目:[大数据] 日期:2020-12-16 热度:131
import ( "net/http" "encoding/json" "fmt" "bytes" "io/ioutil" "unsafe") type JsonPostSample struct { } func (this *JsonPostSample) SamplePost() { song := make(map[string]interface{}) song["name"] = "李白" song["timelength"] = 128 song["aut[详细]
-
Golang依赖关联工具:glide从入门到精通使用
所属栏目:[大数据] 日期:2020-12-16 热度:132
介绍 不论是开发 Java 还是你正在学习的 Golang ,都会遇到 依赖管理 问题。 Java 有牛逼轰轰的 Maven 和 Gradle 。 Golang 亦有 godep 、 govendor 、 glide 、 gvt 、 gopack 等等,本文主要给大家介绍 gilde 。 glide 是 Golang 的包管理工具,是为了解决[详细]
-
mqant框架概述
所属栏目:[大数据] 日期:2020-12-16 热度:196
mqant经过4个月的发展,目前已在github上获得了300多的star,相信在大家的努力下mqant将在未来更加光彩 现如今只有多进程的架构才能达到支撑较多在线用户,降低服务器压力,降低单点故障所带来的影响等要求,因此一个真正高可扩展的游戏运行架构必须是多进程的。[详细]
