Go
golang学习笔记
chainbees
每一个不曾起舞的日子,都是对生命的辜负
展开
-
EMQX开启权限认证,连接请求时,决定客户端是否允许连接Broker
emqx-auth-mysql 插件简介emqx_auth_mysql 是基于 MySQL 数据库的 MQTT 认证/访问控制插件,通过检查每个终端接入的 和 是否与用户指定的 MySQL 数据库中存储的信息一致性来实现对终端的连接认证和访问控制1、生产环境中禁用匿名认证2、MySQL 认证默认配置,需要确保数据库中有下表:创建表:数据表字段可以不用完全跟下面的一致,可以根据业务需要设置,通过 配置文件中的 配置项来指定3、创建一个客户端连接用户本文提供示例数据中密码为 ,加密 salt 为原创 2022-06-15 17:48:22 · 1662 阅读 · 0 评论 -
golang微服务实例Protobuf和Grpc的使用
1.新建项目2、项目初始化3.定义一个proto例子api.proto4.编译proto文件,生成go代码5、客户端程序代码如下 client.go6、服务端程序代码如下 server.go7、运行启动服务端启动客户端8、完成项目源代码:点击下载......原创 2022-06-08 17:39:19 · 340 阅读 · 0 评论 -
golang中如何使用protobuf-安装
1.安装ProtoBuf编译器protoc(protobuf的编译器叫protoc)(1)protobuf协议编译器是用c++编写的,根据自己的操作系统下载对应版本的protoc编译器:https://github.com/protocolbuffers/protobuf/releases,(2)这里下载的是:protoc-3.19.2-win64.zip,windows 64位系统版本的编译器,下载后,解压到你想要的安装目录: 我的安装目录是:C:\mygo\protoc; 安装完成后,将pro.原创 2022-01-18 15:49:46 · 2925 阅读 · 0 评论 -
MongoDB分片集群数据使用
curl -L https://github.com/docker/compose/releases/download/1.28.6/docker-compose-`uname -s `-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composedocker-compose -v原创 2021-08-05 17:45:28 · 521 阅读 · 0 评论 -
Ubuntu18.04 golang交叉编译,目标平台Windoes32位,64位和ARM32,64位平台的二进制文件
# ubuntu下交叉编译到windows$ sudo apt-get update$ sudo apt-get install mingw-w64$ CGO_ENABLED=1 CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc GOOS=windows GOARCH=amd64 go build# 编译 32位的arm$ sudo apt-get update$ sudo apt-get install gcc-arm-linux-g.原创 2020-10-27 18:14:59 · 1350 阅读 · 0 评论 -
golang结构体tag的使用
tag是结构体的元信息,可以在运行的时候通过反射机制读取出来1、tag定义格式:(tag在结构体字段的后方定义,由一对反引号包裹起来,不同的键值对之间使用空格分隔) `key1:"value1" key2:"value2"`2、指定字段名(序列化与反序列化默认情况下使用结构体的字段名,我们可以通过给结构体字段添加tag来指定json序列化生成的字段名) // 使用json tag指定json序列化与反序列化时的行为 type Person struct { Name .原创 2020-06-24 17:27:30 · 810 阅读 · 0 评论 -
golang的结构体,字典与json字符串之间的相互转换,json.Marshal()与json.Unmarshal()函数
golang的结构体,字典与json字符串之间的相互转换,json.Marshal()与json.Unmarshal()函数。原创 2020-06-24 15:04:55 · 3790 阅读 · 0 评论 -
ubantu20.04安装指定版本的Go环境
ubantu20.04安装指定版本的Go环境原创 2020-06-19 11:28:45 · 3522 阅读 · 3 评论 -
Go Modules 详解使用(Go Module是Go依赖管理的未来)
1、先设置Go国内加速镜像 # 启用 Go Modules 功能 $ go env -w GO111MODULE=on # 配置 GOPROXY 环境变量 $ go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/2、创建一个新的目录,任意位置 $ mkdir goapi3、初始化goapi, 成功之后你会发现目录下会生成一个go.mod文件 $ cd goapi $ go mo.原创 2020-06-17 12:22:30 · 474 阅读 · 0 评论 -
Go 国内镜像加速
并且在国内从 GitHub 获取模块的速度也有点慢,因此设置 CDN 加速代理就很有必要了。Go 生态系统中有着许多中国 Gopher 们无法获取的模块,比如最著名的。原创 2020-04-26 12:06:09 · 5472 阅读 · 1 评论 -
go接口类型(interface)
接口 (Interfaces) 是命名了的方法签名 (signatures) 的集合package mainimport "fmt"import "math"// 这里是一个几何体的基本接口。type geometry interface { area() float64 perim() float64}// 在我们的例子中,我们将在类型 `rect` 和 ...原创 2020-04-26 09:38:05 · 539 阅读 · 0 评论 -
go安装grpc及依赖( unrecognized import path "google.golang.org/grpc" )一直报这个错误
报错信息如下:package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)报这个错误说明缺...原创 2020-01-15 09:42:45 · 8691 阅读 · 0 评论 -
golang循环语句
(1)for循环 var i,sum int for i = 1; i <= 10; i++ { sum+=i } fmt.Println("sum=",sum) (2)for ... range 关键字 range 会返回两个值,第一个返回值是元素的数组下标(key),第二个返回值是元素的值(value): s := "abc" // a.打...原创 2020-01-13 15:29:51 · 351 阅读 · 0 评论 -
golang defer关键字的基本使用
1、函数一经调用立即执行 fmt.Println("hello") fmt.Println("哈哈") 输出结果======>> hello 哈哈 2、关键字 defer⽤于延迟一个函数的执行,defer语句只能出现在函数的内部 为了保证文件的关闭能够正确执行,可以使用defer,先打开文件,...原创 2019-12-26 14:27:22 · 254 阅读 · 0 评论 -
golang函数make(),new()区别与使用
1、make()函数的作用,给切片slice,字典map,通道channel初始化,在内存中开辟一块空间 # 声明一个切片,未初始化前没有内存空间,所以为nil(nil切片不能直接赋值),返回值为空切片 var sli []string # 使用make()初始化切片(初始化切片的长度和容量),初始化以后就有了自己的内存空间, # 所以不是nil(非nil切片可以直接赋值),返...原创 2019-12-18 10:03:22 · 724 阅读 · 0 评论 -
go语言,将已有的文件复制一份,同时重新命名实现方法
基本的思路: (1)让用户输入要拷贝的文件的名称(源文件)以及目的文件的名称 (2)创建目的文件 (3)打开源文件,并且读取该文件中的内容 (4)将从源文件中读取的内容写到目的文件中实现代码: var srcFileName string var dstFileName string fmt.Printf("请输入源文件名称:") fmt.Scan(&srcFileNa...原创 2019-10-29 16:41:27 · 1148 阅读 · 0 评论 -
GO文件操作详解
package main// 1、导入"os"包,创建,读,写文件的函数都在该包import ( "fmt" "os")func main() { // 2、创建文件,可以写绝对路径或者相对路径 fp,err := os.Create("./a.txt") // Create()方法默认返回两个参数,文件指针和错误信息 if err!=nil{ // 路径不存在; 文...原创 2019-10-29 16:09:08 · 240 阅读 · 0 评论 -
go字符串处理函数
常用的字符串处理函数:在对字符串进行处理时,需要先导入包"strings" (1)Join():字符串的拼接,将切片slice中的元素,通过'#'连接起来 slice := []string{"aaa","bbb","ccc"} str := strings.Join(slice, "#") fmt.Println(str) (2...原创 2019-10-24 09:49:27 · 247 阅读 · 0 评论 -
Windoes下go环境搭建
(1)打开网址下载安装包:https://golang.google.cn/dl/ (2)添加环境变量: a、新建项目存放文件夹:mygo (我的文件夹位置:E:\mygo\src) mygo |_______bin |_______pkg |_______src |___project-1 |___hello.go |___projec...原创 2019-06-15 11:03:45 · 162 阅读 · 0 评论 -
ubantu18.04/CentOS7.6下go环境搭建
1、运行命令安装$ sudo apt install golang-go2、配置go语言工作空间: (1)新建如下文件夹golang|_______bin|_______pkg|_______src |___project-1 |___hello.go |___project-2(2)添加环境变量: 编辑.ba...原创 2019-06-05 15:22:30 · 329 阅读 · 0 评论