
编程开发-go语言
东华果汁哥
大家好!我叫赖德发,欢迎您来到我的博客。
展开
-
【go 并发编程】go 语言并发执行5个不同的函数
在上面的示例程序中,我们首先定义了 5 个函数:foo1、foo2、foo3、foo4 和 foo5。然后,我们创建了一个 WaitGroup 用于同步 Goroutine 的执行,并启动了 5 个 Goroutine,每个 Goroutine 执行一个函数。需要注意的是,在使用 Goroutine 时,您需要确保在并发访问共享资源时进行适当的同步,以避免数据竞争和死锁等问题。在本例中,我们使用了 sync.WaitGroup 来同步 Goroutine 的执行。原创 2023-04-14 15:32:11 · 663 阅读 · 0 评论 -
【go brotbuf】go序列化brotbuf 数据集发送kafka
Go 语言中常用的序列化方式有很多,其中 Google 的 Protocol Buffers(简称 Protobuf)是一种高效、可扩展和跨平台的序列化格式,被广泛应用于分布式系统中。在本篇博客中,我们将介绍如何使用 Go 语言的 Protobuf 库来序列化数据。在开始之前,我们需要先安装 Protobuf 编译器。你可以从 官网 上下载对应操作系统的编译器版本,并按照官方文档进行安装。如何根据上面的tag.proto 自动生成tag.pg.go 文件呢。如何序列化protbuf 发送kafka呢。原创 2023-04-14 15:09:57 · 373 阅读 · 0 评论 -
【go 日志模板】go自动生成日志模板函数
你可以使用Go标准库中的log包来实现日志记录功能。下面是根据自己自定义格式,生成info_20230414.log 格式日志的模板文件。原创 2023-04-14 14:54:14 · 341 阅读 · 0 评论 -
【go 定时调度框架】你知道几种go语言定时调度框架?
如果你需要更高的调度准确性和稳定性,那么cron可能是一个不错的选择;而如果你需要更多的功能和灵活性,那么jobrunner可能更适合你。在这个例子中,我们首先创建了一个 cron.Cron 实例,并使用 AddFunc() 方法添加了一个定时任务。这些库使用起来都比较简单,你可以根据自己的需求和喜好选择其中一个来使用。评测结果表明,与其他相比,它拥有最高的调度准确性,尤其在较高负载下。拥有丰富的功能,包括异步任务、任务重试、延迟任务等。它也有宽松的开源许可证,允许你做任何你想做的事情。原创 2023-04-06 09:17:24 · 7297 阅读 · 1 评论 -
【go modules】missing go.sum entry for module providing package
go get 下载第三方包采用module 管理包一般会放在pkg/mod 下面,那么如何自动管理包,以及导入包呢?这个错误提示说明在你的项目中缺少 github.com/gin-gonic/gin 模块的 go.sum 条目。原创 2023-03-23 16:29:06 · 7518 阅读 · 0 评论 -
【go 语言】linux下go开发教程3:Golang弃用go get工具
这是因为自从1.17.1版本之后,go get 命令便不能再用了,全部改为go install 命令。用“go install pkg@version”代替。如安装mysql 驱动以及sqlx 包。Golang弃用go get工具。go 1.19.3 版本。原创 2022-11-09 16:02:07 · 1352 阅读 · 0 评论 -
【go 语言】linux下go开发教程2:编译第一个go程序
(3)在hello目录下执行:go build main.go。学习语言的第一个程序肯定是hello word了。(1)进入前面创建的三个目录里面的src目录。会编译生成 main 可执行文件。(4) 执行命令 ./main。输出hello world!原创 2022-11-04 10:31:06 · 732 阅读 · 0 评论 -
【go 语言】linux下go开发教程1:centos 安装go语言
Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。目前Go语言已经⼴泛应用于人工智能、云计算开发、容器虚拟化、⼤数据开发、数据分析及科学计算、运维开发、爬虫开发、游戏开发等领域。Go语言的岗位需求持续高涨,目前的Go程序员数量少,待遇好。国内Go语言的需求潜力巨大,目前无论是国内大厂还是新兴互联网公司基本上都会有Go语言的岗位需求。原创 2022-11-04 09:34:28 · 591 阅读 · 0 评论 -
【go语言 安装包】windows go get安装第三方包的前提条件和步骤
1、首先必须设置环境变量GOPATH的路径2、安装git for windows3、将 git 安装目录下的一个路径加载到pathD:\Program Files\Git\cmd4、安装第三方包进入cmdgo get -v github.com/antlinker/go-dirtyfilter...原创 2018-10-18 15:23:39 · 3198 阅读 · 0 评论 -
【go 语言环境安装】goland语言环境安装配置详解
1、下载go下载地址:https://golang.google.cn/dl/打开网址,由于我的电脑是win64,所以下载第一个。2、安装go2.1、UNIX/Linux/Mac OS X, 和 FreeBSD 安装以下介绍了在UNIX/Linux/Mac OS X, 和 FreeBSD系统下使用源码安装方法:1、下载二进制包:go1.11.linux-amd64.tar.gz。...原创 2018-10-18 14:31:04 · 13396 阅读 · 0 评论 -
【go API开发】goweb:基于 Go 语言开发 API 的工具
一个基于go语言开发API的工具,这个工具受到了SpringMVC的启发,结合了go语言本身的特性,整体比较简单,接下来,看看如何使用它。下载安装:go get github.com/alberliu/gowebpackage mainimport "github.com/alberliu/goweb"type User struct { Id int64 `json:"id"`原创 2017-12-25 19:58:10 · 1085 阅读 · 0 评论 -
【go语言 curl】golang版本的curl请求库
github源码网站:https://github.com/mikemintang/go-curl如何安装包go get github.com/mikemintang/go-curl发送post请求:package mainimport ( "fmt" "github.com/mikemintang/go-curl")func main() { url := "http://原创 2017-09-20 17:13:14 · 14972 阅读 · 0 评论 -
【go语言 slice】迭代slice
go语言内置一个关键字range用于迭代集合,当然他也可以迭代slice,也可以使用 _ 来忽略我们不关心的元素,但是如果只关心index则不需这么写 for index,_ := range slice1。下在给出完整代码package mainimport ( "fmt")func main() { // 创建一个容量和长度均为6的slice slice1 := [原创 2017-09-20 15:53:57 · 1356 阅读 · 0 评论 -
【go语言爬虫】go语言爬取豆瓣电影top250
一、需求分析 用go语言抓取 豆瓣电影top250 抓取url: https://movie.douban.com/top250抓取字段:电影名称、评分、评价人数二、运行: 正在抓取第0页…… 肖申克的救赎 9.6 824764人 这个杀手不太冷 9.4 791399人 霸王别姬 9.5 589028人 阿甘正传 9.4 678850人 美丽人生 9.5 394009人 千与千寻原创 2017-05-25 09:34:15 · 10711 阅读 · 17 评论 -
【go语言爬虫】go语言高性能抓取手机号码归属地、所属运营商
一、需求分析 根据手机号码获取手机号码的归属地和所属运营商类型 类似:四川 18683339513 乐山 614000 0833 中国联通二、运行效果 三、实现源代码package main//网址:https://github.com/M2shad0w/phone-go//安装包:go get github.com/M2shad0w/phone-goimport ( "fmt"原创 2017-05-25 09:43:32 · 4344 阅读 · 1 评论 -
【go语言计算年龄生肖星座】go语言根据出生日期 计算年龄,所属星座,生肖
一、需求分析 go语言根据出生日期 计算年龄,所属星座,生肖二、运行效果"D:\Program Files (x86)\JetBrains\Gogland 171.3780.106\bin\runnerw.exe" D:/Go\bin\go.exe run D:/Go/code/src/awesomeProject/age_calculate.go24 狮子座 鸡Process finished原创 2017-05-25 09:51:57 · 4601 阅读 · 0 评论 -
【go语言读取mysql】go语言连接mysql,并且查询出结果
一、需求分析 go语言 连上mysql,并且从mysql中读取数据二、实现效果"D:\Program Files (x86)\JetBrains\Gogland 171.3780.106\bin\runnerw.exe" D:/Go\bin\go.exe run D:/Go/code/src/awesomeProject/go_mysql.go链接数据库成功...........已经打开192原创 2017-05-25 09:58:41 · 13328 阅读 · 0 评论 -
【go语言计算两个经纬度距离】根据经纬度计算两点之间距离
一、需求分析: 输入两个经纬度,计算它们之间的距离lat1,lng1 := 32.060255,118.796877lat2,lng2 := 39.904211,116.407395二、计算公式//C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180原创 2017-05-25 10:04:49 · 7803 阅读 · 0 评论 -
【go语言发送电子邮件】go语言版发送电子邮件
一、实现功能 用go语言发送一封邮件二、实现源代码package mainimport ( "net/smtp" "fmt" "strings")/* * user : example@example.com login smtp server user * password: xxxxx login smtp server password * host:原创 2017-05-25 10:10:14 · 4718 阅读 · 0 评论 -
【动态语言和静态语言的比较】动态or静态?
定义:强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行。例如C/C++/Java/C#/scala/goland弱类型语言(动态类型语言)是指不需要进行变量/对象类型声明的语言,一般情况下不需要编译(但也有编译型的)。例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell/R语言等等。优势: 强类型的原创 2017-09-27 11:21:08 · 1408 阅读 · 0 评论 -
【go 通道】go语言通道channel
通过使用通道,在多个goroutine发送和接受共享的数据,达到数据同步的目的。通道,他有点像在两个routine之间架设的管道,一个goroutine可以往这个管道里塞数据,另外一个可以从这个管道里取数据,有点类似于我们说的队列。声明一个通道很简单,我们使用chan关键字即可,除此之外,还要指定通道中发送和接收数据的类型,这样我们才能知道,要发送什么类型的数据给通道,也知道从这个通道里可以接收到什原创 2017-09-27 15:18:57 · 2364 阅读 · 0 评论 -
【go 指针数组】go语言中的指针数组
声明一个包含有5个整数指针类型的数组,我们可以在初始化时给相应位置的元素默认值。下面是给索引为0的元素一个新建的的int类型指针(默认为0),给索引为1的元素指向值v的地址,剩下的没有指定默认值的元素为指针的zero值也就是nilpackage mainimport "fmt"func main() { var v int = 6 array := [5]*int{0: new(in原创 2017-09-19 23:11:53 · 4009 阅读 · 0 评论 -
【linux go语言安装】阿里云下go语言如何安装?
1、到go语言中文网下载go在linux下的安装包 下载网址:https://studygolang.com/dl 如果是64位的linux系统,就下载64位,32位的就下载32位的。 如何查看是64位,还是32位?uname -a2、将下载的安装包上传到服务器rz 3、上传成功之后,解压缩tar -zxvf go1.9.linux-amd64.tar.gz4、解压成功后,设置环境变量PATH原创 2017-09-12 07:23:33 · 1399 阅读 · 0 评论 -
【go语言 安装第三方包】阿里云下go语言如何装第三方包?
1、创建gopath文件夹及子文件夹创建文件 gopath,并且 在 gopath 目录下创建三个子文件夹。 bin pkg srcmkdir gopathcd gopathmkdir bin pkg src2、安装gityum install git3、设置gopath路径vim /etc/profileGOPATH=/root/software/gopath使之生效source /et原创 2017-09-12 07:53:08 · 900 阅读 · 0 评论 -
【go语言爬虫】网贷天眼数据平台爬虫
一、需求分析 利用go语言抓取网贷天眼数据平台昨日数据 字段: 排序 平台名称 成交额 综合利率 投资人 借款周期 借款人 满标速度 累计贷款余额 资金净流入 抓取url: http://www.p2peye.com/shuju/ptsj/二、go语言爬虫实现源代码package mainimport ( "fmt" "io/iout原创 2017-05-23 15:23:21 · 4203 阅读 · 0 评论