Go
文章平均质量分 76
九思梦鹿
怀揣着梦想的星辰
展开
-
Golang 企业级web后端框架
Golang 企业级web后端框架(gin-jwt,gorm,zap,restful)原创 2022-06-24 20:02:07 · 4136 阅读 · 4 评论 -
Ubuntu安装Go环境以及GoLand编辑器
Ubuntu安装Go环境以及GoLand编辑器运行第一个Go项目原创 2022-06-16 16:34:34 · 1775 阅读 · 0 评论 -
Go——设置或取消代理
通过 go get 命令下载各种依赖时,经常需要访问 github/google 等网站,如果使用默认的代理,下载速度很慢,甚至无法下载,此时就需要设置国内代理以实现高效下载目录国内常用的GO代理goproxy七牛云阿里云设置代理Go 版本是 1.13 及以上其他版本取消代理查看GO的配置国内常用的GO代理goproxyhttps://goproxy.io/zh/七牛云https://goproxy.cn阿里云https://mirrors.aliyun.com/goproxy/设置代.原创 2020-12-08 21:45:13 · 19331 阅读 · 4 评论 -
Ubuntu安装 Go 详细教程
目录查看Go官方版本列表wget方式下载Go安装包并解压到`/usr/local`目录加入环境变量root用户普通用户验证是否安装成功查看Go官方版本列表https://golang.org/dl/wget方式下载Go安装包并解压到/usr/local目录$ sudo wget -c https://dl.google.com/go/go1.15.6.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local版本可根据官方列表任意替换加入环境变量原创 2020-12-08 21:26:54 · 1807 阅读 · 0 评论 -
Go——连接设有账户密码的mongo数据库
testdb 数据库设置的账户是user,密码是123456// Set client optionsclientOptions := options.Client().ApplyURI("mongodb://user:123456@127.0.0.1:27017/testdb")// Connect to MongoDBclient, err := mongo.Connect(context.TODO(), clientOptions)if err != nil { log.Print.原创 2020-12-03 21:46:54 · 2024 阅读 · 0 评论 -
Go——两个[]byte数组合并成一个[]byte
合并 []byte 数组方式一使用 join 函数测试方式二使用 bytes.Buffer测试方式三使用 append ...测试输出方式一使用 join 函数func BytesCombine1(pBytes ...[]byte) []byte { length := len(pBytes) s := make([][]byte, length) for index := 0; index < length; index++ { s[index] = pBytes[index] }原创 2020-11-03 22:28:16 · 11371 阅读 · 0 评论 -
GO——mongo实现模糊查询
导入需要的包import ( "context" "fmt" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "log")构造结构体type User struct { Name string Age int City string}type Users struct { Collection原创 2020-10-17 00:24:33 · 3330 阅读 · 1 评论 -
Go——获取mongo数据库集合的信息
终端查看mongo集合的信息以 mongocrud数据库、crud集合为例执行命令use mongocrud// 以下命令默认以 bytes 为单位db.crud.stats()// 以下命令以 kb 为单位db.crud.stats(1024)显示如下{ "ns" : "mongocrud.crud", "size" : 193, "count" : 3, "avgObjSize" : 64, "storageSize" : 36864, "capped" : false,原创 2020-09-27 22:32:01 · 1590 阅读 · 0 评论 -
Go——mongo数据库增删改查操作
MongoDB 将数据存储为一个文档,数据结构由键值对(key => value)组成;MongoDB 里的数据库表称为集合,数据称为文档导入需要的包import ( "context" "fmt" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "log")构造结构体type User st.原创 2020-09-27 22:01:05 · 2211 阅读 · 4 评论 -
Go 实现本地文件上传至服务器,从服务器下载文件 功能
package mainimport ( "fmt" "github.com/pkg/sftp" "golang.org/x/crypto/ssh" "io" "log" "net" "os" "time")//连接的配置type ClientConfig struct { Host string //ip Port int64 // 端口 Username string //用户名 Password原创 2020-08-14 22:27:14 · 2549 阅读 · 1 评论 -
Go 实现读取分析【内存缓存】中的数据
目录函数一函数二返回JSON结构体的接口实现效果函数一读取执行脚本后暂存在内存中的JSON数据,返回Buffer缓冲器:func cmd() bytes.Buffer { //test 是一个可执行文件,打印JSON数据 cmd := exec.Command("/home/project/test","-j") var out bytes.Buffer cmd.Stdout = &out err := cmd.Run() if err != nil { fmt.Printf(原创 2020-08-14 22:11:30 · 729 阅读 · 0 评论 -
Go 实现一个读JSON文件至内存的脚本
目录项目结构具体实现代码:编译成可执行文件:效果:项目结构├── test│ ├── info.json│ ├── main.go│ └── test具体实现代码:main.go:package mainimport ( "fmt" "io/ioutil")func main() { data, err := ioutil.ReadFile("info.json") if err != nil { return } fmt.Println(stri原创 2020-08-14 21:21:05 · 291 阅读 · 0 评论 -
Gin 路由以及中间件
路由重定向r:=gin.Default()r.GET("/baidu", func(c *gin.Context) { c.Redirect(http.StatusMovedPermanently, "https://baidu.com")})r.Run(":8089")分组路由 v1 := router.Group("/v1") v1.GET("/login", func(c *gin.Context) { c.String(http.StatusOK, "原创 2020-08-13 22:19:43 · 1830 阅读 · 0 评论 -
Gin 将路由拆分到不同的APP
有时候项目规模实在太大,我们需要在不同的APP(或机器设备)上运行其中部分路由(业务),此时可以通过以下方式进行拆分,进而通过授权方式实现对应业务目录结构gin_demo├── app│ ├── blog│ │ ├── handler.go│ │ └── router.go│ └── shop│ ├── handler.go│ └── router.go├── go.mod├── go.sum├── main.go└── rout.原创 2020-08-13 15:12:40 · 533 阅读 · 0 评论 -
GO 实现静态编译
静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应静态库(.a或.lib)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库Linux环境实现 go 程序的静态编译,只需要执行以下命令即可CGO_ENABLED=1 GOOS=linux go build -a -ldflags '-extldflags "-static"' ....原创 2020-08-12 22:14:50 · 2896 阅读 · 0 评论 -
Go——Sqlite数据库增删改查基本操作
程序如下:package main//利用_可以完成包的只初始化,不引用,仅仅是是希望它执行init()函数import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "time")func main() { //打开数据库 test.db,如果不存在,则创建 //【注意:这里创建的数据库的名字是 test.db,不是 test】 db, err := sql.Open("sqlite3", "./test.db")原创 2020-06-12 23:48:35 · 1698 阅读 · 0 评论 -
Ubuntu 中如何给 GoLand 设置桌面快捷图标
首先,转到 /usr/share/applications 路径下,这个路径存放的是系统所有的已设置应用的桌面图标cd /usr/share/applications之后,通过命令 vim goland.desktop 创建一个 GoLand 的桌面快捷图标,vim 后面的名称自定义,后缀名必须是.desktop编辑内容:[Desktop Entry]Encoding=UTF-8Name=goland IDEComment=The Smarter Way to CodeExec=/bin/原创 2020-05-20 13:56:54 · 3513 阅读 · 0 评论 -
Ubuntu下在GoLand中使用gopacket进行网络数据抓包并分析
一、首先,下载gopacket包,libpcap库,配置下条件在终端中输入以下命令:# Get the gopacket package from GitHubgo get github.com/google/gopacket# Pcap dev headers might be necessarysudo apt-get install libpcap-dev如果一直下载不成功的话,则是因为被墙了,这个解决方式因人而异,总体上就是设置代理之类的二、进行测试1、获取本机所有的网络设备信息原创 2020-05-20 00:44:48 · 1192 阅读 · 0 评论 -
Go——两个整型数相除如何得到一个浮点型数
Go语言里,对两个不同类型的变量进行运算操作,是不允许的!所以,需要将两个整型数都转化为浮点数方能进行运算func Test1() { var i=10 var j=3 var sum1,sum2 float64 i1:=float64(i) j1:=float64(j) sum1=i1/j1 sum2=(float64(i / j)) fmt.Println("sum1=",sum1, "****", "sum2=",sum2) fmt.Println("sum2的类型为:",原创 2020-05-15 11:02:04 · 15318 阅读 · 0 评论