首页 > 其他分享 >Golang初学:一些第三方包

Golang初学:一些第三方包

时间:2024-06-05 17:22:33浏览次数:12  
标签:github etcd get Golang 初学 https go com 第三方

go version go1.22.1

--

 

Web 开发

gorilla

https://gowebexamples.com

中的示例有用到。

 

Routing (using gorilla/mux)

go get -u github.com/gorilla/mux

-

Sessions

"github.com/gorilla/sessions"

-

Websockets

$ go get github.com/gorilla/websocket

-

 

gin

go get github.com/gin-gonic/gin

or

go get -u github.com/gin-gonic/gin

 

go zero

https://go-zero.dev

go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。

go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。

 

安装汇总:
golang 安装
goctl 安装
protoc 安装
go-zero 安装
goctl-intellij 安装
goctl-vscode 安装
-

 

一些命令:

go install github.com/zeromicro/go-zero/tools/goctl@latest

goctl env check --install --verbose --force

go get -u github.com/zeromicro/go-zero@latest

-

 

Beego

命令
go get github.com/astaxie/beego
-

About
beego is an open-source, high-performance web framework for the Go programming language.

https://github.com/astaxie/beego

-

命令:

go get github.com/astaxie/[email protected]

-

 

bee tool

命令

go get github.com/beego/bee

-

 

Iris

TODO

 

数据

MySQL

驱动

go get -u github.com/go-sql-driver/mysql

 

sqlite

go get -u gorm.io/gorm

go get -u gorm.io/driver/sqlite

 

gorm

The fantastic ORM library for Golang, aims to be developer friendly.

https://github.com/go-gorm/gorm

$ go get -u gorm.io/gorm

$ go get gorm.io/driver/mysql

-

MySQL、postgresql、sqlite 都支持。

 

Redis

go get github.com/redis/go-redis

上面是 不正确的用法,没有指定版本,虽然也可以用。

下面是正确的:v9

go get github.com/redis/go-redis/v9

-

文档:

https://pkg.go.dev/github.com/redis/go-redis/v9

 

MongoDB

https://www.mongodb.com/zh-cn/docs/languages/go/

MongoDB Go Driver

https://www.mongodb.com/zh-cn/docs/drivers/go/current/

英文版:

https://www.mongodb.com/docs/drivers/go/current/

最新:1.5

 

MongoDB Atlas

MongoDB Enterprise

MongoDB Community:source-available、免费使用且可自行管理的 MongoDB 版本。

 

命令

go get go.mongodb.org/mongo-driver/mongo

go get github.com/joho/godotenv

-

环境变量

export MONGODB_URI='<your atlas connection string>'

 

GridFS

使用 GridFS 规范在 MongoDB 中存储和检索大文件。

GridFS 将大文件分割为数据段,并将每个数据段存储为一个单独的文档。

如果文件大小超过16 MB 的 BSON 文档大小限制,请使用 GridFS。

 

ElasticSearch

https://github.com/elastic/go-elasticsearch

About

The official Go client for Elasticsearch.

v8.13.1

版本

github.com/elastic/go-elasticsearch/v7

github.com/elastic/go-elasticsearch/v8

-

文档

Full documentation is hosted at GitHub and PkgGoDev. This documentation provides only an overview of features.

https://github.com/elastic/go-elasticsearch

https://pkg.go.dev/github.com/elastic/go-elasticsearch

-

 

命令:

go get github.com/elastic/go-elasticsearch/v8@latest

-

 

Kafka

有多个库。

其中 IBM/Sarama 是 最新的 且 比较完备的。

Sarama is a Go library for Apache Kafka.
https://github.com/IBM/sarama

 

其它:

/segmentio/kafka-go

confluent-kafka-go

goka

-

 

命令:

go get github.com/IBM/sarama

-

 

confluent-kafka-go 命令:

安装librdkafka
$ git clone https://github.com/edenhill/librdkafka.git
配置、编译、安装
$ go get -u github.com/confluentinc/confluent-kafka-go/kafka

-

来自 博文:

golang confluent-kafka-go

https://www.cnblogs.com/ExMan/p/14156056.html

posted on 2020-12-18 17:28  ExplorerMan

-

 

RabbitMQ

官方

官方 rabbitmq/amqp091-go

RabbitMQ tutorial - "Hello World!"

https://www.rabbitmq.com/tutorials/tutorial-one-go

命令

go mod init <your-module-name>

go get github.com/rabbitmq/amqp091-go

-

import amqp "github.com/rabbitmq/amqp091-go"

-

 

topgoer

topgoer.com 中 的 2个:

github.com/streadway/amqp

github.com/student/kuteng-RabbitMQ/RabbitMQ

-

 

Etcd

https://etcd.io/

A distributed, reliable key-value store for the most critical data of a distributed system.

 

https://github.com/etcd-io/etcd

etcd is a Go-based project that provides a simple, secure, fast and reliable key-value store for distributed systems.

 

https://pkg.go.dev/go.etcd.io/etcd/client/v3

etcd/clientv3 is the official Go etcd client for v3.

 

命令:

go get go.etcd.io/etcd/client/v3

-

 

场景:

1)直接使用。

2)在 k8s 集群中使用。

 

大数据

TODO

 

---END---

 

参考资料

1、topgoer

https://www.topgoer.com

2、

 

标签:github,etcd,get,Golang,初学,https,go,com,第三方
From: https://www.cnblogs.com/luo630/p/18232275

相关文章

  • golang使用OpenCC繁简转换
    https://github.com/longbridgeapp/openccmain.gopackagemainimport( "fmt" "log" "github.com/longbridgeapp/opencc")funcmain(){ s2t,err:=opencc.New("s2t") iferr!=nil{ log.Fatal(err) } in:=`......
  • golang net/http 的 ListenAndServe 的工作方式(取代 listen、accept)
      在Go的net/http包中,当你使用ListenAndServe或ListenAndServeTLS函数启动一个HTTP服务器时,你不需要直接调用listen和accept操作,因为这些函数已经为你处理了这些底层的网络细节。 ListenAndServe函数的工作方式如下:1.它首先调用net.Listen来监听指定的网络地......
  • golang 的 net/http 和 net/rpc 的区别, rpc 效率比 http 高?
     在Go语言中,net/http和net/rpc是两个不同的包,它们分别用于实现不同的网络通信模式:net/http:net/http包主要用于构建Web服务和客户端,它实现了HTTP协议,这是互联网上最广泛使用的应用层协议之一,主要用于传输超文本(HTML)和其他资源。HTTP协议是基于请求-响应模型的,客......
  • golang 使用 zap logger 加入Lumberjack 写日志
    golang使用zaplogger加入Lumberjack写日志Cd进入项目目录gogetgo.uber.org/zap/zapcoregoget-ugithub.com/natefinch/lumberjack关于下面代码说明: funcgetLogWriter()zapcore.WriteSyncer{lumberJackLogger:=&lumberjack.Logger{Filename:......
  • Golang(Go语言)封装一个简单的控制台输出包
    //定义6个常量,每个常量代表一个布尔值为true的位置const( LEVEL_DEBUG=1<<iota LEVEL_INFO LEVEL_WARN LEVEL_ERROR LEVEL_FATAL PRINT_SRC_FILE)typeconsoleFuncfunc(formatstring,a...any)varprintSrcFileEmptyFunc=func(){}typeConsolestruct{......
  • 初学者使用1Panel面板快速搭建WordPress网站
    之前介绍了宝塔面板以及如何搭建wordpress网站,这篇文章我们来学习如何使用1Panel面板搭建wordpress网站。一、1Panel面板介绍1.介绍1Panel是一个现代化、开源的基于Docker的Linux服务器运维管理面板。1Panel的功能和优势包括:快速建站:深度集成WordPress和 Halo,域名绑......
  • golang使用阿里MQTT的通信记录
    背景:我们有业务场景就是手机App可以操作物连网设备,一年之中总会有一两次,手机无法操作设备,于是我们就需要将服务器重新启动就正常了,使用的是阿里MQTT服务。猜测:我一直怀疑,这个通信系统中的可能有BUG,消息丢失无法送达或者在传递过中发生了错乱无法正确收到消息。分析:仔细研究发现......
  • golang使用geoip2获取ip归属地
    gogetgithub.com/oschwald/geoip2-golang下载GeoIP2-City.mmdbhttps://dev.maxmind.com/geoip/geolite2-free-geolocation-datamain.gopackagemainimport( "fmt" "log" "net" "github.com/oschwald/geoip2-golang")......
  • 各类信息化项目第三方验收测试的作用
    验收测试各类信息化项目第三方验收测试的作用主要体现在以下几个方面:1.客观性:第三方验收测试的突出特点是其客观性。与项目开发团队或相关利益方相比,第三方测试机构能够更加客观地进行测试,不受项目具体背景、利益关系等因素的影响。这种客观性有助于确保测试结果的准确性......
  • 全国软件第三方测试的费用标准受哪些要素的影响
    第三方软件测试报告行业内对于第三方软件测试报告并没有一个明确的收费标准,不同地域之间的收费不同,各个检测单位的报价也略有差异。第三方检测报告的收费标准需要根据具体的测试需求而定,一般是按照项目大小或者测试功能点来收费的,价格区间一般是几千到几万不等。一、第三方......