-
如何禁用Golang未使用的导入错误
所属栏目:[大数据] 日期:2020-12-16 热度:121
默认情况下,将未使用的导入视为错误,强制您删除导入。 我想知道是否存在一些希望改变这种行为。例如减少到警告。 我发现这个问题非常烦人,阻止我享受Go中的编码。 例如,我正在测试一些代码,禁用段/函数。来自lib的一些函数不再使用(例如fmt,errors,无[详细]
-
GoLang代码包的开发详细记录
所属栏目:[大数据] 日期:2020-12-16 热度:58
最终执行结果 参考文档:https://golang.org/doc/ 参考书籍:《Go并发编程实战》[详细]
-
Golang热重启
所属栏目:[大数据] 日期:2020-12-16 热度:114
什么是热重启: 新老程序(进程)无缝替换,同时可以保持对client的服务。让client端感觉不到你的服务挂掉了。 比如重新加载配置文件,需要重启一下,替换老程序需要重启一下,就需要用到热重启。但使用Golang的场景,其实直接在http proxy层面做切流量更方便[详细]
-
热重启golang服务器(graceful restart golang http server)
所属栏目:[大数据] 日期:2020-12-16 热度:161
服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级。 而另一种更方便的方法是在应用上做热重启,直接升级应用而不停服务。 原理 热重启的原理非常简单,但是涉及到[详细]
-
Golang 中使用 JSON 的一些小技巧 陶文 陶文 3 个月前 有的时候
所属栏目:[大数据] 日期:2020-12-16 热度:188
Golang 中使用 JSON 的一些小技巧 陶文 3 个月前 有的时候上游传过来的字段是string类型的,但是我们却想用变成数字来使用。 本来用一个json:",string" 就可以支持了,如果不知道golang的这些小技巧,就要大费周章了。 参考文章:JSON and struct compositio[详细]
-
用Golang处理每分钟百万级请求
所属栏目:[大数据] 日期:2020-12-16 热度:121
翻译原文链接 转帖/转载请注明出处 原文链接@medium.com发表于2017/08/30 我在防垃圾邮件,防病毒和防恶意软件领域已经工作了15年,前后在好几个公司任职。我知道这些系统最后都会因为要处理海量的数据而变得非常复杂。 我现在是smsjunk.com的CEO并且是Know[详细]
-
使用Golang写出高并发代码
所属栏目:[大数据] 日期:2020-12-16 热度:168
本文原创文章,转载注明出处,博客地址 https://segmentfault.com/u/to... 第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 笔者目前处于失业状态,之前一直对Golang如何处理高并发http请求的一头雾水,这几天也查了很多相关博客,似懂非懂,不[详细]
-
Golang TcpProxy和Nodejs TcpProxy
所属栏目:[大数据] 日期:2020-12-16 热度:191
自己平时的工作基本都在php和nodejs之间徘徊,但是目前面对python和java的猛烈攻击呢,其实内心有一种隐隐的痛“PHP是世界上最好的语言“,”nodejs在cpu密集时服务彻底瘫痪"。。。 看了半个月python真实发现,其实它太像php语言了,所以基本不用怎么理解就[详细]
-
golang面试
所属栏目:[大数据] 日期:2020-12-16 热度:63
交替打印数字和字母 问题描述 使用两个 goroutine 交替打印序列,一个 goroutinue 打印数字, 另外一个goroutine打印字母, 最终效果如下 12AB34CD56EF78GH910IJ 。 package mainimport ("fmt""sync")func PrintNums(printChar chan int,wg *sync.WaitGroup)[详细]
-
golang中os包用法
所属栏目:[大数据] 日期:2020-12-16 热度:100
os包中实现了平台无关的接口,设计向Unix风格,但是错误处理是go风格,当os包使用时,如果失败之后返回错误类型而不是错误数量. os包中函数设计方式和Unix类似,下面来看一下. func Chdir(dir string) error //chdir将当前工作目录更改为dir目录. func Ge[详细]
-
Go实战--golang中使用markdown(russross/blackfriday)
所属栏目:[大数据] 日期:2020-12-16 热度:194
生命不止,继续 go go go !!! 先来一点小小的插曲,博客关于go的uv量: 今天,跟大家一起学习分享的是在golang中如何使用markdown语法,当然是使用第三方库了russross/blackfriday。 参考:http://blog.will3942.com/creating-blog-go markdown Markdown是一[详细]
-
golang 正则获取和替换
所属栏目:[大数据] 日期:2020-12-16 热度:170
// test18 project main.gopackage mainimport ("fmt""regexp""strconv")// 将字符串解析为浮点数,使用 IEEE754 规范进行舍入。// bigSize 取值有 32 和 64 两种,表示转换结果的精度。// 如果有语法错误,则 err.Error = ErrSyntax// 如果结果超出范围,则[详细]
-
Go实战--golang中生成读取二维码(skip2/go-qrcode和boombuler/ba
所属栏目:[大数据] 日期:2020-12-16 热度:71
生命不止,继续go go go!!! 这里介绍一下,golang如何生成二维码,当然是面向github编程了。 QRCode 百度百科: QR Code码,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图[详细]
-
基于UDP协议可靠传输协议QUIC协议和golang server代码和client代
所属栏目:[大数据] 日期:2020-12-16 热度:169
一. QUIC 的基本特点 基于UDP的多路传输(单连接下); 极低的等待时延(相比于TCP的三次握手); 快速迭代更新; 开源于Chromium项目中。 首先,QUIC为 传输层 协议,与TCP、UDP、SCTP同级。所以肯定会 在一定范围内 同现有的传输层协议构成竞争关系。 二.[详细]
-
Golang面试题解析(三)
所属栏目:[大数据] 日期:2020-12-16 热度:168
21.编译执行下面代码会出现什么? package mainvar( size :=1024 max_size = size*2)func main() { println(size,max_size)} 解析 考点: 变量简短模式 变量简短模式限制: 定义变量同时显式初始化 不能提供数据类型 只能在函数内部使用 结果: syntax error:[详细]
-
golang之tcp自动重连
所属栏目:[大数据] 日期:2020-12-16 热度:188
操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)需要自动重连。 测试服务器示例代码: /* tcp server for test E-Mail : Mike_Zhang@live.com */ package main import[详细]
-
golang之log rotate
所属栏目:[大数据] 日期:2020-12-16 热度:143
操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 golang的log模块提供的有写日志功能,示例代码如下: /* golang log example E-Mail : Mike_Zhang@live.com */ package main import ( " log " " os " ) func main() { logFile,err : = os.Create( "[详细]
-
[golang]简单文件上传服务
所属栏目:[大数据] 日期:2020-12-16 热度:192
利用net/http库及gorilla/mux库实现了一个简单的文件上传服务, 示例如下: package main import ( "fmt" "github.com/gorilla/mux" "io" "net/http" "os" ) const uploadHTML = ` html head title选择文件/title /head body form enctype="multipart/form-dat[详细]
-
Golang多个文件在主包中
所属栏目:[大数据] 日期:2020-12-16 热度:167
我目前在我的主包中有一个名为main.go的单个文件。如何将main.go的内容拆分成多个文件,而不创建单独的包,因为代码不可重用。 我想要一个目录结构这样: $ ls foomain.gobar.go bar.go package mainimport "fmt"func Bar() { fmt.Println("Bar")} 然后在mai[详细]
-
Golang 正态分布实现
所属栏目:[大数据] 日期:2020-12-16 热度:94
简介 from 百度百科 正态分布(Normal distribution),也称“常态分布”,又名高斯分布(Gaussian distribution),最早由A.棣莫弗在求二项分布的渐近公式中得到。C.F.高斯在研究测量误差时从另一个角度导出了它。P.S.拉普拉斯和高斯研究了它的性质。[1] 是[详细]
-
Go 语言: 极坐标与笛卡尔坐标的互转
所属栏目:[大数据] 日期:2020-12-16 热度:108
本文记录使用 Go 语言实现 RESTful 的点坐标的转换。 极坐标与笛卡尔坐标的数学关系 假设同一个点使用极坐标表示为 (ρ,θ),使用笛卡尔坐标表示为(x,y),那么,这些数学符号之间,有如下关系 x = ρ* Cosθ y = ρ* Sinθ ρ= Sqrt(x*x+y*y) θ = Arctan(x/y) G[详细]
-
Go实战--使用golang开发Windows Gui桌面程序(lxn/walk)
所属栏目:[大数据] 日期:2020-12-16 热度:152
生命不止,继续 go go go!!! golang官方并没有提供Windows gui库,但是今天还是要跟大家分享一下使用golang开发Windows桌面程序,当然又是面向github编程了。 知乎上有一个问答: golang为什么没有官方的gui包? 这里,主要使用第三方库lxn/walk,进行Window[详细]
-
将interface {}转换为int在Golang
所属栏目:[大数据] 日期:2020-12-16 热度:166
我刚刚接触Golang,我试图从JSON中获取值并将其转换为int,但它不工作。不知道如何正确地做。 这里是错误消息: ...cannot convert val (type interface {}) to type int: need type assertion 代码: var f interface{} err = json.Unmarshal([]byte(jsonSt[详细]
-
Golang面试题解析
所属栏目:[大数据] 日期:2020-12-16 热度:159
最近在很多地方看到了golang的面试题,看到了很多人对Golang的面试题心存恐惧,也是为了复习基础,我把解题的过程总结下来。 面试题 1. 写出下面代码输出内容。 package mainimport ( "fmt")func main() { defer_call()}func defer_call() { defer func() {[详细]
-
golang http 实例
所属栏目:[大数据] 日期:2020-12-16 热度:141
package main import ( "fmt" "io/ioutil" "net/http" "net/url" "strings" ) func httpGet() { resp,err := http.Get("http://www.01happy.com/demo/accept.php?id=1") if err != nil { // handle error } defer resp.Body.Close() body,err := ioutil.Read[详细]
