-
Go语言学习之flag包(The way to go)
所属栏目:[大数据] 日期:2020-12-16 热度:136
生命不止,继续 go go go !!! 今天跟大家分享的是golang中的flag package,如果你在golang中用到了命令行参数,那么你就必须要了解一些flag的知识。 Package flag 作用: Package flag implements command-line flag parsing. Go语言通过使用标准库里的flag[详细]
-
信号 – Golang:是否可以捕获Ctrl C信号并以“延迟”方式运行清
所属栏目:[大数据] 日期:2020-12-16 热度:189
我想捕获从控制台发送的Ctrl C(SIGINT)信号,并打印出一些部分运行总计。 这是可能在戈兰吗? 注意:当我第一次发布的问题,我困惑的Ctrl C是SIGTERM而不是SIGINT。 您可以使用 os/signal软件包处理输入信号。 ^ C是 SIGINT,所以你可以使用这个来捕获os.Int[详细]
-
Golang生产Web应用程序配置
所属栏目:[大数据] 日期:2020-12-16 热度:184
对于那些你在运行Go后端在生产中: 什么是您的堆栈/配置运行Go Web应用程序? 我没有看到这个话题,除了人们使用标准库net / http包保持服务器运行。我读使用Nginx传递请求到Go服务器 – nginx with Go 这似乎有点脆弱我。例如,如果重新启动计算机(没有其他[详细]
-
最自恋的golang的time.Format的坑
所属栏目:[大数据] 日期:2020-12-16 热度:51
我想格式化输出日期 fmt. Println (time. Now (). Format ( "2010-10-10 15:04:05" )) 结果输出了 9060-60-60 11:11:36 这什么鬼 百度了一个 fmt. Println (time. Now (). Format ( "2006-01-02 15:04:05" )) 这就输出正确了 2017-06-09 11:12:39 为什么呢,[详细]
-
Go实战--golang新手入门常见错误(The way to go)
所属栏目:[大数据] 日期:2020-12-16 热度:141
生命不止,继续 go go go !!! 今天分享的是在学习、应用golang过程中,遇到的哪些错误。 左大括号不能单独一行 曾经的曾经,我们经常讨论{是在上一行的末尾,还是另起一行,也因为这个区别我们分成了左派还是右派。 对于诸如C++等语言来说,无论选择哪一[详细]
-
golang 版快速排序
所属栏目:[大数据] 日期:2020-12-16 热度:156
快速排序作为经典算法,基本面试中都会遇到,今天记录一下。 1.非递归版,这里也是使用一个栈的模型(自己实现)来实现。需要注意的是interface转int需要断言。 package mainimport ("container/list""fmt")// Stack is stacktype Stack struct {stack *list[详细]
-
GOLANG最容易做测试MOCK
所属栏目:[大数据] 日期:2020-12-16 热度:154
原文:https://gocn.io/article/353 测试时,一些底层的库非常难以MOCK,比如HASH摘要算法,怎么MOCK?假设有个函数,是用MD5做摘要: func digest(data [] byte ,h hash.Hash) ([] byte ,error) { if _,err = h.Write(data); err != nil { return nil ,erro[详细]
-
golang []byte和string相互转换
所属栏目:[大数据] 日期:2020-12-16 热度:184
package main import ( "fmt" ) func main() { str2 := "hello" data2 := [] byte (str2) fmt.Println(data2) str2 = string (data2[:]) fmt.Println(str2)}[详细]
-
NSQ 源码阅读(二) NSQD
所属栏目:[大数据] 日期:2020-12-16 热度:113
未完成 前言 NSQD是 nsq 的主要逻辑部分,请参考官方文档。我们直接看代码。 入口函数 main 函数位于 github.com/nsqio/nsq/apps/nsqd/nsqd.go func main() { prg := program{} if err := svc.Run(prg,syscall.SIGINT,syscall.SIGTERM); err != nil { log.Fa[详细]
-
golang 使用defer、panic、recover的问题
所属栏目:[大数据] 日期:2020-12-16 热度:164
defer 今天开发一个功能,犯了个小错误,记录下。简单代码如下: package mainimport ( "fmt" "sync" "time" )func main() { var mt sync.Mutex for i := 0 ; i 10 ; i++ { go func( index int ) { for j := 0 ; j 3 ; j++ { mt.Lock() defer func() { mt.Un[详细]
-
Golang实现ping
所属栏目:[大数据] 日期:2020-12-16 热度:104
ICMP部分的结构 报头 ICMP报头从IP报头的第160位开始,即第20个字节开始(除非使用了IP报头的可选部分)。 Bits 160-167 168-175 176-183 184-191 160 Type Code 校验码(checksum) 192 ID 序号(sequence) Type - ICMP的类型,标识生成的错误报文; Code -[详细]
-
Import "golang.org/x/net/icmp" failed! , go语
所属栏目:[大数据] 日期:2020-12-16 热度:133
Import "golang.org/x/net/icmp" failed! I'm new to Golang and I cant find any good resource about this subjectI see that people use import "golang.org/x/net/icmp" or things like this(https://github.com/tatsushid/go-fastping/blob/master/fast[详细]
-
【GOLANG】Go语言学习-select用法
所属栏目:[大数据] 日期:2020-12-16 热度:104
【GOLANG】Go语言学习-select用法 golang 的 select 的功能和 select,poll,epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作。 示例: ch1 := make (chan int , 1 )ch2 := make (chan int ,0)">1 )... select { case -ch1: fmt.Println( "c[详细]
-
Go实战--go中一些有用的代码片段(The way to go)
所属栏目:[大数据] 日期:2020-12-16 热度:58
生命不止,继续 go go go !!! 今天跟大家分享一些有用的,简单的golang代码片段。 改变string的值 首先我们要知道,在golang中,string是不可变的: str := "hello" str [0 ] = 'c' 编译错误:cannot assign to str[0] 正确的做法: package main import ( "[详细]
-
Golang开发入门(Linux)
所属栏目:[大数据] 日期:2020-12-16 热度:99
Go语言是一门跟C非常接近的语言,对于C系(C/C++,Java)语言熟悉的新手可以很快上手。但是Go语言又有自己的一些特点,本文主要目的是让初学者了解这些特点,从而快速的上手。 一、安装 wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar[详细]
-
sublime golang build 输出的配色
所属栏目:[大数据] 日期:2020-12-16 热度:139
在 Golang Build Output.tmLanguage 中增加 dictkeymatch/keystring(.)?w+.w+(:d+)?/stringkeyname/keystringstorage.type.Storage type/string/dict tmLanguage文件中分2类Dict都是KV结构。一种是简单的正则匹配,如上所示,其中 storage.type.Stora[详细]
-
Golang:如何获取当前运行的文件的目录?
所属栏目:[大数据] 日期:2020-12-16 热度:62
在nodejs中我使用 __dirname。在戈兰,这相当于什么? 我已经google了,发现这篇文章http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/。他在哪里使用下面的代码 _,filename,_,_ := runtime.Caller(1)f,err := os.Open(path.Join(p[详细]
-
golang list slice 删除其中一项比对
所属栏目:[大数据] 日期:2020-12-16 热度:196
golang list slice 删除其中一项比对 转自:http://studygolang.com/articles/3221 slice可以动态添加项(使用append()函数),但是没有删除项的函数。变通方法,可以使用slice重新组合的方式删除一个或多个项,slice是引用类型,存的是指针,性能上不会有太[详细]
-
golang list坑
所属栏目:[大数据] 日期:2020-12-16 热度:112
golang list坑 转自:http://studygolang.com/articles/4842 golang中list包用法可以参看http://www.jb51.cc/article/p-xumthjdj-bhd.html 但是list包中大部分对于e *Element进行操作的元素都可能会导致程序崩溃,其根本原因是e是一个Element类型的指针,当[详细]
-
Golang快速入门(不用急,但要快)
所属栏目:[大数据] 日期:2020-12-16 热度:66
Go语言简介: Golang 简称 Go ,是一个开源的编程语言,Go是从2007年末由 Robert Griesemer , Rob Pike , Ken Thompson 主持开发,后来还加入了 Ian Lance Taylor , Russ Cox 等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。 1.Go语言[详细]
-
Go单元测试
所属栏目:[大数据] 日期:2020-12-16 热度:185
Go单元测试 简介 单元测试是go语言级别提供的完整功能,测试代码以 *_test.go 命名,单元测试的case以 Test 开头,性能测试case以 Benchmark 开头,运行测试命令: go test test_file_list 例子 实现排列组合函数以及对应的单元测试和性能测试 创建工程目录[详细]
-
golang中的json处理
所属栏目:[大数据] 日期:2020-12-16 热度:76
JSON (Javascript Object Notation)已经成为了一种非常流行的数据交换格式,golang 自然不会忽视对 json 的支持,golang 自带的标准库就可以方便的处理 json。另外,推荐一种号称 全世界最快的 JSON 解析器 -- jsoniter 。 简介 json 中提供的处理 json 的[详细]
-
合理的技术栈永远比语言来的重要
所属栏目:[大数据] 日期:2020-12-16 热度:86
知道我的人都知道我是做在线教育,准确的应该说是高中生在线一对一辅导平台。 这个平台最核心的服务应该就是上课服务了,这个上课服务里面包含着什么呢?我来列一下: 白板互动系统(屏幕共享系统) 语音即使通讯系统 文字即时通讯系统 课件中心 题库中心 其[详细]
-
Go1.9的主要更新(记回家的火车上)
所属栏目:[大数据] 日期:2020-12-16 热度:99
关于 sheepbao 2017.06.16 世上千般伤心事,唯有生离与死别。希望奶奶在天堂幸福,不孝孙子正在回家的路上。 卧铺时漫长,遂有此文。 Go1.9的主要更新 golang每半年更新一次版本,上次最新的版本是Go1.8,而Go1.9将在今年8月释出。 Go1.9中语法的更改只有一[详细]
-
Golang单元测试之httptest使用
所属栏目:[大数据] 日期:2020-12-16 热度:62
现在有一个需求那就是,我们需要使用Golang的net/http包中的http.Get(url)方法去向服务器端请求数据,但是负责服务端的同事并没有将接口实现(可能是同事太忙,把妹,喝酒,扯淡, XO等等)以至于你只知道返回数据的json格式,然而无法请求到真实的数据,但[详细]
