随笔分类 - Go
1
与Go相关的东西
摘要:package main import ( "fmt" "github.com/suifengtec/gocoord" ) func main() { // 第一个参数是经度,第二个参数是维度 p := gocoord.Position{Lon: 111.98497861928867, Lat: 2
阅读全文
摘要:背景 在日常工作中经常需要写一写小工具,比如发送get请求,post请求等,在用python时request包比较方便,在用go时可以使用gorequest包,借鉴了py的request包 使用样例 GET请求-client func getRequest(params map[string]str
阅读全文
摘要:锁 互斥锁 解释:互斥锁,保证同一时刻只有 1 个 goroutine 访问共享资源,比如多个协程同时修改同一个文件,同一时刻只能同一个协程进行修改 使用方法 // 定义一个互斥锁 // var 变量名 互斥锁类型 var guardMutex sync.Mutex //上锁 guardMutex.
阅读全文
摘要:通道:channel 名词:在 goroutine 中通信的管道 注意:任何时候,同一时刻只能有一个 goroutine 访问通道进行发送和获取数据 通道的顺序:遵循先入先出的规则 通道的定义 // 定义一个通道 var 变量名 chan 数据类型 // 比如: var intCh chan int
阅读全文
摘要:【go】gorm中去掉默认表名后的s复数形式 背景 使用gorm时,查询数据时mysql报错,显示表名不存在,仔细查看,报错的表名中增加了s,比如实际数据库表名是:ali_user,报错信息中显示表 ali_users 不存在 原因 gorm默认使用结构体的复数形式作为表名 比如: # 表结构体定义
阅读全文
摘要:一个go的map相关的panic错误 背景:在获取多个数据时,从数据库取到多条数据,需要把多条数据返回给前端,定义一个res返回值,为map[string]any类型,在赋值后运行发生 panic:assignment to entry in nil map 原因:在声明map类型的变量后,直接进行
阅读全文
摘要:###gin框架中结合cron实现定时任务执行 背景:一个hr管理系统中,需要每日定时处理员工离职操作,需要每天定时执行删除账号等操作,在这使用定时任务比较方便,比如每天晚21点执行 实现方式如下: 创建定时任务 # 新建Console包,统一管理定时任务 package Console impor
阅读全文
摘要:go基础 - WaitGroup用法 package main import ( "fmt" "sync" "time" ) /** * Created by Goland * User: wkk alisleepy@hotmail.com * Time: 2022/8/15 - 23:33 * D
阅读全文
摘要:go学习 - 字符串翻转 代码如下,比较low,但能实现: package go_test_test import ( "fmt" "testing" ) /** * Created by Goland * User: wkk alisleepy@hotmail.com * Time: 2022/8
阅读全文
摘要:【go-基础】interface转string:fmt.Sprintf("%v", value) 背景:在做一个查询时,请求参数为map格式,value值为interface,根据不同的key需要做不同的查询,在模糊查询时value需要拼接 %val%号,简单记录 代码如下: var test in
阅读全文
摘要:循环结构体,修改结构体中某个字段的值 背景:使用go获取部门列表后,需要修改其中的一个字段的值,将level = 2 修改为 level = “二级部门” 错误方法1:结构体转json后,不行 for _, item := range departments { item.Level = "二级部门
阅读全文
摘要:在部署go项目时用到了查看进程和杀死进程再重新开启进程,记录一下
阅读全文
摘要:主要学习下go语言中的测试文件,实现斐波那契数列,常量的定义
阅读全文
摘要:Go语言学习之main包的讲解 1.Go中main函数不支持任何返回值 2.可以通过os.Exit(0)来返回状态 3.main函数不支持传入参数 4.在程序中可通过os.Args来获取命令行参数
阅读全文
摘要:在windows下开发的goweb程序,需要部署在linux服务器上,在这简单记录下具体的操作过程
阅读全文
摘要:go常用命令 go get:获取远程包(得装git) go run:直接运行程序(写代码时调试用) go build:测试编译,检查是否有编译错误 go fmt:格式化代码(一般不咋用,IDE都自带了) go install:编译包文件并编译整个程序 go test:运行测试文件(运行_test的文
阅读全文
摘要:函数部分 1. 函数基本组成:关键字func、函数名、参数列表、返回值、函数体、返回语句 例子: `func Add(int a, int b) (return int, err error){ ....函数体... } ` 如果相邻参数类型相同,可以简写,eg: a,b int //a、b参数类型
阅读全文
摘要:Go语言流程控制 字典类型Map 1、上节遗留:map字典类型 变量声明: 其中,myMap是变量名,string是键的类型,PersonInfo是存放的值类型 2、创建map: 例子: 3、创建并初始化: `myMap = map[string] PersionInfo{ "1234&q
阅读全文
摘要:GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 (推荐写法) 注意::= 左侧的变量不能是被声明过的 4.定义常量: const 关键字定义常量 5.以大写字母开头的常量在包外可见 6.Go语
阅读全文
1

浙公网安备 33010602011771号