-
golang基础-WaitGroup、kafka消费者
所属栏目:[大数据] 日期:2020-12-16 热度:72
WaitGroup kafka消费者 WaitGroup WaitGroup在go语言中,用于线程同步,单从字面意思理解,wait等待的意思,group组、团队的意思,WaitGroup就是指等待一组,等待一个系列执行完成后才会继续向下执行。 package mainimport ( "fmt" "sync" "time" )func main[详细]
-
【译】Go语言之声明语法
所属栏目:[大数据] 日期:2020-12-16 热度:88
作者:Rob Pike,原文链接:Go's Declaration Syntax 以下是译文: 前言 Go 的初学者可能会有这样的疑问:为什么 Go 的声明语法与传统的其他 C 家族编程语言不太一样?在这篇文章中我们会比较这两种不同的方式,并且也会解释为什么。 C 变量 首先,让我们说[详细]
-
golang基础-beego_web开发、模板使用
所属栏目:[大数据] 日期:2020-12-16 热度:162
beego开发 Beego web开发 1、规划好ur 2、添加路由 3、开发controller,继承beego.Controller 看看本例的结构图 mainmain.go 初始化beego,引入router模块 package main import ( _ "beego_example/router" "github.com/astaxie/beego" ) func main () { be[详细]
-
Go实战--golang中使用echo框架、MongoDB、JWT搭建REST API(labst
所属栏目:[大数据] 日期:2020-12-16 热度:87
生命不止,继续go go go !!! 之前介绍过golang中restful api的博客,是使用redis作为持久化,httprouter作为框架: Go实战–通过httprouter和redis框架搭建restful api服务(github.com/julienschmidt/httprouter) 今天,继续echo框架,这次加入mongodb作为持[详细]
-
golang基础- ElasticSearch搜索引擎、kibana可视化工具、向ES输
所属栏目:[大数据] 日期:2020-12-16 热度:193
安装ElasticSearch 安装kibana 向es输出数据 安装ElasticSearch ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当[详细]
-
Go数据结构之队列
所属栏目:[大数据] 日期:2020-12-16 热度:65
一、什么是队列 数据结构里的队列就是模仿现实中的排队。如上图中狗狗排队上厕所,新来的狗狗排到队伍最后,最前面的狗狗撒完尿走开,后面的跟上。可以看出队列有两个特点: (1) 新来的都排在队尾; (2) 最前面的办理业务后离队,后面一个跟上。 根据特[详细]
-
golang连接mysql操作示例增删改查
所属栏目:[大数据] 日期:2020-12-16 热度:188
golang本身没有提供连接mysql的驱动,但是定义了标准接口供第三方开发驱动。这里连接mysql可以使用第三方库,第三方库推荐使用https://github.com/Go-SQL-Driver/MySQL这个驱动,更新维护都比较好。下面演示下具体的使用,完整代码示例可以参考最后。 下载驱[详细]
-
golang structs定义中backtick的用法是什么?
所属栏目:[大数据] 日期:2020-12-16 热度:135
参见英文答案 Strange type definition syntax in Golang (name,then type,then string literal)1答案 type NetworkInterface struct { Gateway string `json:"gateway"` IPAddress string `json:"ip"` IPPrefixLen int `json:"ip_prefix_len"` MacAddress s[详细]
-
控制台 – 如何从Golang创建一个可执行文件,在运行时不打开命令(
所属栏目:[大数据] 日期:2020-12-16 热度:139
我创建了一个我想在后台运行的应用程序(无命令/ cmd控制台)。我如何做到这一点? (这是为Windows,在Windows 7 Pro 64位测试) 在网上找到的文档说,我可以编译一些沿着线, go build -ldflags -Hwindowsgui filename.go 但这给出一个错误:unknown flag -Hwi[详细]
-
Golang常量计数器iota使用方法
所属栏目:[大数据] 日期:2020-12-16 热度:187
iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。 举例[详细]
-
Golang从零开始(一) 编译环境搭建(Ubuntu17)
所属栏目:[大数据] 日期:2020-12-16 热度:93
首先,我的操作系统是ubuntu17.04,cpu架构amd64 因为屏蔽,你其实打不开go的官网(有vpn就另说了),所以你要去Golang中国下载go 地址:https://www.golangtc.com/download 找到这一条点下载 下载速度可能并不快。。。 下载完之后解压到我的tools文件夹下(/[详细]
-
file-upload – 使用Content-Type multipart/form-data的golang
所属栏目:[大数据] 日期:2020-12-16 热度:152
我试图使用go将图像从我的计算机上传到网站。通常情况下,我使用一个bash脚本向文件传送一个键给serveur: curl -F "image"=@"IMAGEFILE" -F "key"="KEY" URL 它的工作很好,但我想把这个请求转换成我的golang程序。 http://matt.aimonetti.net/posts/2013/0[详细]
-
GoLang:按名称访问struct属性
所属栏目:[大数据] 日期:2020-12-16 热度:150
这里是一个简单的go程序不工作: package mainimport "fmt"type Vertex struct { X int Y int}func main() { v := Vertex{1,2} fmt.Println(getProperty(v,"X"))}func getProperty(v *Vertex,property string) (string) { return v[property]} 错误:prog.go[详细]
-
GoLang 变量作用域
所属栏目:[大数据] 日期:2020-12-16 热度:88
GoLang 变量作用域 在 Golang 中,变量作用域分为: 本地局部变量 全局变量 参数变量 本地局部变量 定义:在函数或者在语义块(if/for等)中定义的变量 生效范围:定义在函数里面则在整个函数范围有效; 定义在语义块,则在整个语义块生效 实例如下: //str 定[详细]
-
解决golang编译项目时出现signal: killed
所属栏目:[大数据] 日期:2020-12-16 热度:50
前几天面试一家公司拿到的测试题使用 golang 开发,在编译过程中发生了一点点小插曲。在本地 mac 系统上可以通过编译,当在远程 Linux 服务器上进行编译运行 go install 命令的时候,会报错 signal: killed 。几经周折,发现是内存不够的问题(当时我的内存[详细]
-
Go实战--golang中使用go-spew(davecgh/go-spew)
所属栏目:[大数据] 日期:2020-12-16 热度:54
生命不止,继续 go go go !!! 花絮: 一系列的事儿,开始想想未来如何,要不要离开北京。利用周末,去了趟南京,感觉很好。 我的csdn博客uv访问量如下: —————————————————-悲伤的分割线————————————————– 今天跟大家一起[详细]
-
使用 pprof 和火焰图调试 golang 应用
所属栏目:[大数据] 日期:2020-12-16 热度:155
转自:http://cizixs.com/2017/09/11/profiling-golang-program 什么是 Profiling? Profiling 这个词比较难翻译,一般译成 画像 。比如在案件侦破的时候会对嫌疑人做画像,从犯罪现场的种种证据,找到嫌疑人的各种特征,方便对嫌疑人进行排查;还有就是互联[详细]
-
go 文件操作
所属栏目:[大数据] 日期:2020-12-16 热度:94
Golang简单写文件操作的四种方法 package mainimport ("os""io""io/ioutil""fmt""bufio")var filename = "./output1.txt"var f *os.Filevar err1 error/**创建文件夹*/func mkDir(descname string) error {return os.Mkdir(descname,os.ModeDir)}/** * 判断[详细]
-
Golang 的跨平台交叉编译浅析
所属栏目:[大数据] 日期:2020-12-16 热度:184
什么是跨平台交叉编译 交叉编译 通俗地讲就是在一种平台上编译出其他几个平台能够运行的程序(通常指系统和CPU架构的不同) 交叉编译通常使用在分发时,编译出多个平台可用的二进制程序,比如在Linux下编译出可以在Win下可以使用的EXE程序。 本地编译 本地编[详细]
-
golang基础-redis使用
所属栏目:[大数据] 日期:2020-12-16 热度:135
redis安装 set类型 hash类型 批量set类型 队列操作 redisPool redis安装 安装完毕后解压目录如下 点击redis-server.exe启动redis 然后在启动cmd客户端 set类型 package main import ( "fmt" "github.com/garyburd/redigo/redis" ) func main() { var p * int[详细]
-
Golang 微框架 Gin 简介
所属栏目:[大数据] 日期:2020-12-16 热度:182
所谓框架 框架一直是敏捷开发中的利器,能让开发者很快的上手并做出应用,甚至有的时候,脱离了框架,一些开发者都不会写程序了。成长总不会一蹴而就,从写出程序获取成就感,再到精通框架,快速构造应用,当这些方面都得心应手的时候,可以尝试改造一些框架[详细]
-
Go/Golang将日志写入文件
所属栏目:[大数据] 日期:2020-12-16 热度:120
我试图写一个日志文件与Golang。 我试过几种方法,所有的都失败了。这是我试过的: func TestLogging(t *testing.T) { if !FileExists("logfile") { CreateFile("logfile") } f,err := os.Open("logfile") if err != nil { t.Fatalf("error: %v",err) } // a[详细]
-
Go 语言 select 语句
所属栏目:[大数据] 日期:2020-12-16 热度:140
select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。 select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。 语法 Go 编程语言中[详细]
-
Go select 语句
所属栏目:[大数据] 日期:2020-12-16 热度:70
select是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收。 select随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。一个默认的子句应该总是可运行的。 语法 Go 编程语言中[详细]
-
golang channel 的使用
所属栏目:[大数据] 日期:2020-12-16 热度:184
本文对channel使用中的几个疑惑,以例子的形式加以说明。 普通channel 缺省情况下,发送和接收会一直阻塞着,直到另一方准备好. 例如: package mainimport ( "fmt" "time" )var ch1 chan boolfunc main(){ ch1 = make(chan bool) go reader() go writer() s[详细]
