golang
weixin_44282540
这个作者很懒,什么都没留下…
展开
-
查看项目go代码cpu利用率
CPU利用率原创 2024-04-22 13:47:15 · 445 阅读 · 0 评论 -
golang协程池
协程池原创 2023-05-05 17:43:12 · 378 阅读 · 0 评论 -
ChatGPT3.5向量相似度计算
embedding的向量相似度计算原创 2023-04-27 17:13:05 · 139 阅读 · 0 评论 -
SignalR框架下实现golang的客户端和服务端
SignalR框架下实现golang的客户端和服务端原创 2023-04-17 14:25:43 · 396 阅读 · 0 评论 -
golang代码检查工具
代码检查原创 2022-07-05 14:15:52 · 380 阅读 · 0 评论 -
go 父子集组装成树形结构体
import ( "encoding/json" "fmt")type Row struct { Id int ParentId int Name string}type Node struct { *Row Children []*Node `json:"children,omitempty"`}func generateTree(rows []*Row) []*Node { idMap := make(map[int]*Node, len(rows.原创 2022-05-10 15:42:00 · 739 阅读 · 0 评论 -
xorm与gorm之间的区别:
相同性: 1.主流数据库都支持(mysql、postgres) 2. 支持事务性,链式查询,支持原生sql操作不同点: xorm 支持批量查询处理 xorm支持主从式读写分离 gorm 支持热加载 (部分更新) 文档全面性: gorm > xorm...原创 2022-02-11 17:29:29 · 6040 阅读 · 0 评论 -
liunx系统计算程序执行的时间
优雅的计算程序运行时间在 Linux 下,可以通过 time 命令,很容易获取程序的运行时间:$time./testreal0m1.003suser0m0.000ssys0m0.000s可以看到,程序的运行时间为: 1.003s。细心的同学,会看到 real 貌似不等于 user + sys,而且还远远大于,这是怎么回事呢?先来解释下这三个参数的含义:real:表示的钟表时间,也就是从程序执行到结束花费的时间;user:表示运行期间,cpu ...原创 2021-12-22 17:39:18 · 254 阅读 · 0 评论 -
go语言中 int 与 int64 int32 之间的关系
int 在32位系统上是4个字节int 在64位系统上是8个字节1字节=8位 (byte)所以说int是会随着操作系统改变的原创 2021-09-06 16:09:59 · 1387 阅读 · 1 评论 -
小鸡必吃地址连接
https://www.kancloud.cn/gopher_go/go/1009141 面试大全原创 2021-08-24 09:50:04 · 83 阅读 · 0 评论 -
errors.New(“错误提示“)
func circleArea(radius float64) (float64, error) { if radius < 0 { return 0, errors.New("中文") } return math.Pi * radius * radius, nil}func main() { radius := -20.0 area, err := circleArea(radius) if err != nil { fmt.Println("=====获取err:",.原创 2021-07-28 16:56:02 · 259 阅读 · 0 评论 -
如果slice中有,就去掉,并返回去掉多少
这个是主要判断这个切片中是否存在这个整数/字符串 ,如果存在就把切片中的这个值去掉,并且返回去掉几个。func elementIsInSlice(element int, slice []int)(int ,[]int){ if len(slice) == 0 { return 0,slice } var num int for i, item := range slice{ if element == item{ slice = append(slice[:i], slice[原创 2021-07-28 14:20:51 · 86 阅读 · 0 评论 -
slice坑
运行代码看一下结果:func elementIsInSlice(element int, slice []int)( int ,[]int){ if len(slice) == 0 { return 0,slice } var f int for i, item := range slice{ if element == item{ slice = append(slice[:i], slice[i+1:]...) f =f+1 } } fmt.Pri原创 2021-07-28 14:01:28 · 143 阅读 · 0 评论 -
go代码windows系统截屏
仅仅代码记录,不做其他用途。package mainimport ( "github.com/kbinani/screenshot" "image" "image/png" "os" "strconv" "time")func main() { for { //每30秒截屏一次 截取的是windows桌面上面显示的页面 time.Sleep( time.Second * 30) screen() }}func screen(){翻译 2021-07-22 17:20:27 · 1215 阅读 · 0 评论 -
当数据库返回的值为NULL, int接收会不会报错
条件 : go语言 gorm框架 mysql结果:数据库返回null时 ,使用int接收程序不会报错,会变成 0 使用 string 接收程序不会报错 ,会变成空字符UserOpenId *string `gorm:"column:user_open_id"`得到的是 nil 但是取值报错UserOpenId string `gorm:"column:user_o...原创 2021-07-21 15:37:07 · 911 阅读 · 0 评论 -
日志收集系统
这个简单相当与ELK:https://logz.io/原创 2021-06-28 14:26:52 · 186 阅读 · 0 评论 -
出现bug时
在系统出现bug时,首先你看一下你自己的代码,或者你改的代码是否有问题。切记。。。。。。自己没有问题的时候才能“安全”原创 2021-06-23 11:24:51 · 70 阅读 · 0 评论 -
根据最后一个标识截取前面或者后面的字符串
x := "a_ab_daqe_sd_ew" lastInd := strings.LastIndex(x, "_") fmt.Println(x[:lastInd]) // o/p: a_ab_daqe_sd fmt.Println(x[lastInd+1:]) // o/p: ew原创 2021-06-09 16:30:08 · 1098 阅读 · 0 评论 -
go 为什么我写的init函数无法调用呢?
问题:我新建了一个目录,在里面写了一个config,想从配置文件获取信息,所有就像使用init函数来进行调用获取。 但是这个目录文件都创建好了,init也是写完了,在init里面打印fmt.Println确实执行不出来结果。解决:package mainimport ( "fmt" _ "gameMonitoringGadget/config")在main函数导入包的地方调用这个文件,mian函数导入但是并不使用。...原创 2021-06-03 10:26:08 · 2904 阅读 · 0 评论 -
跨域问题
问题显示:1.什么是跨域:CORS跨来源资源共享是一份浏览器技术的规范,提供了web服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是JSONP模式的现代版。什么又是CORS呢? CORS是W3c工作草案,它定义了在跨域访问资源时浏览器和服务器之间如何通信。CORS背后的基本思路是使用自定义的HTTP头部允许浏览器和服务器相互了解对方,从而决定请求或响应成功与否。2.为什么有跨域问题:同源策略:是浏览器最核心最基本的安全功能;同源指的是:同协议,同域名和同端口 。...原创 2021-05-26 10:14:05 · 73 阅读 · 0 评论 -
Go omitempty的用法
这种非必传参数 增加个omitempty 可以不显示出结构体中的这个属性。type Person struct { Name string `json:"name"` Age int `json:"age"` Addr string `json:"addr,omitempty"`}例:https://blog.csdn.net/stpeace/article/details/82744364...原创 2021-05-19 18:09:17 · 1436 阅读 · 0 评论 -
全国省市区(县)位置坐标及SQL脚本
https://blog.csdn.net/song_jiang_long/article/details/54407306转载 2021-05-11 19:21:09 · 843 阅读 · 0 评论 -
go在什么情况下使用指针
推荐在方法上使用指针(前提是这个类型不是 map、slice ,channel 等引用类型) 当结构体较大的时候使用指针会更高效,可以避免内存拷贝,“结构较大” 到底多大才算大可能需要自己或团队衡量,如超过 5 个字段或者根据结构体内存占用来计算 如果要修改结构体内部的数据或状态必须使用指针 如果方法的receiver是map、slice 、channel等引用类型不要使用指针 小数据类型...原创 2021-05-10 10:48:24 · 458 阅读 · 0 评论 -
go 获取ip地址和mac地址
func getMacAddrs() (macAddrs []string) { netInterfaces, err := net.Interfaces() if err != nil { fmt.Printf("fail to get net interfaces: %v", err) return macAddrs } for _, netInterface := range netInterfaces { macAddr := netInterface.HardwareAdd.原创 2021-05-07 18:22:40 · 898 阅读 · 0 评论 -
go语言的私有域
在写功能函数时,开头字母的大小写,决定着外面的包可不可以调用,小写的handleMsgTypePlayerLogin 只能在自己所在的文件夹里面调用大写的HandleMQWork 全局都可以使用,即公有域...原创 2021-04-13 10:36:44 · 76 阅读 · 0 评论 -
对象池sync.pool使用
对象池区别与其他的连接池,它只能存放临时的变量,用来缓解GC的处理压力。用途:1.sync.Pool是一个可以存或取的临时对象集合2.sync.Pool可以安全被多个线程同时使用,保证线程安全注意、注意、注意,sync.Pool中保存的任何项都可能随时不做通知的释放掉,所以不适合用于像socket长连接或数据库连接池。sync.Pool主要用途是增加临时对象的重用率,减少GC负担。type Pool struct { // New optionally specif.原创 2021-04-06 16:47:07 · 382 阅读 · 0 评论 -
go语言 Goroutine与channel的配合使用
import ( "fmt" "time")// 定义goroutine 1func Echo(out chan<- string) { // 定义输出通道类型 time.Sleep(1*time.Second) out <- "老铁666" close(out)}// 定义goroutine 2func Receive(out chan<- string, in <-chan string) { // 定义输出通道类型和输入类型 temp := &.原创 2021-04-01 11:31:30 · 210 阅读 · 0 评论 -
go语言测试文件的生成
直接使用 alt +insert 键可以直接生成 测试文件原创 2021-03-23 14:05:33 · 395 阅读 · 0 评论 -
go语言生成token值
func main() { c :=RandString(256) fmt.Println(c)}//生成token值func RandString(length int) string { rand.Seed(time.Now().UnixNano()) rs := make([]string, length) for start := 0; start < length; start++ { t := rand.Intn(3) if t == 0 { rs = a.原创 2021-03-23 10:08:06 · 1601 阅读 · 0 评论 -
go语言多态概念 使用回调函数
之前一直理解不了多态的概念,现在有所感悟,多了不说先上代码type DuoTai func(int ,int) int//加法func Add ( a,b int ) int { c := a+b return c}//乘法func Mul( a,b int ) int { m:= a * b return m}func CallBack (a , b int , d DuoTai) { re:=d(a,b) fmt.Println("vaule:" ,re原创 2021-03-20 22:18:42 · 300 阅读 · 1 评论 -
go语言sync.map的使用
func main() { //sync.Map 的方法进行调用,Store 表示存储,Load 表示获取,Delete 表示删除。 var scence sync.Map //将键值对保存到sync.map中 scence.Store("xiaoming",97) scence.Store("xiaohong",92) scence.Store("xiaobai",99) //将sync.map中根据键取值 fmt.Println(scence.Load("xi..原创 2021-03-18 15:23:41 · 307 阅读 · 0 评论 -
go语言recover来捕获错误
func test() { defer func() { if err := recover() ; err != nil { //捕获 fmt.Println("err2=",err) } }() num1 := 10 num2 := 0 res := num1/num2fmt.Println("err1=",res)}func main() { test() for { fmt.Println("main 下面的代码...").原创 2021-03-17 16:26:29 · 329 阅读 · 0 评论 -
go语言接口的使用
interface是一种类型 。一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。一种类型多种接口type sayer interface { say ()}type mover interface { move()}type fooder interface { food()}type dog struct { name string}func (d dog ) say() { fmt.Println("说话:",d.na.原创 2021-03-17 13:51:10 · 139 阅读 · 0 评论 -
json包tag加与不加的区别
type A struct { a string //小写无tag b string `json:"B"` //小写+tag C string //大写无tag D string `json:"DD"` //大写+tag}转为json后首字母小写的不管加不加tag都不能转为json里的内容,而大写的加了tag可以取别名,不加tag则json内的字段跟结构体字段原名一致。...原创 2021-03-03 17:35:06 · 373 阅读 · 1 评论 -
go语言获取命令行参数
文章目录#使用OS库获取命令行参数 #使用flag包获取命令行参数#使用OS库获取命令行参数代码:package mainimport ( "fmt" "os")func main() { //打印参数数量 fmt.Println("命令行参数数量:",len(os.Args)) //只打印某个参数 fmt.Println("第二个参数:",os.Args[1]) //遍历参数并打印 for k,v:= range.原创 2020-11-10 11:09:02 · 566 阅读 · 0 评论 -
go语言path使用
func main() { //拼接路径 p := filepath.Join("dir1", "dir2", "filename") fmt.Println("p:", p) //p: dir1\dir2\filename fmt.Println(filepath.Join("dir1//", "filename")) //dir1\filename fmt.Println(filepath.Join("dir1/../dir1", "filename")) //dir1\filen.原创 2020-11-10 10:45:44 · 643 阅读 · 0 评论 -
go语言学习地址
一、网站博客Go by ExampleGo 初学者成长之路飞雪无情的博客awesome-go为互联网IT人打造的中文版awesome-gohttps://www.jianshu.com/u/50e1d98d51ac二、电子书系统推荐GO几本书Go Web 编程 电子书三、概述知乎社区核心业务 Golang 化实践Golang 比较适合什么领域?四、开源项目知乎 有什么适合 Go 语言初学者的 Starter Project?...转载 2020-11-12 16:39:50 · 175 阅读 · 0 评论 -
操作cmd命令的路径中存在空格解决办法
用缩写。比如c:\Program Files缩写为c:\Progra~1,再来刨根问底查查这个命名是否有规则,于是找到: 采用8个字符缩写,即写头六个字母(略去空白),另加波浪号和1,首字母不足六个字母,略去空白,用了第二个词的字母,凑成六个。例如: "Documents and Settings“ -- DOCUME~1 "Local Settings" -- LOCALS~1 (注意略去空白,用了第二...原创 2020-10-30 09:46:10 · 1066 阅读 · 0 评论 -
window10系统可以使用shell脚本,执行shell命令,不是使用git
,,,,,,,,,,,,,,,问题:想同步远程数据,但是window系统不能执行shell脚本bash命令总结: 1.下载安装Cygwin 2.配置window系统的环境变量 3.修改bat命令中 添加 start mintty bash --login -i 即是cmd登录就启动 4.开始编写go语言代码 :https://blog.csdn.net/weixin_44282540/article...原创 2020-10-26 16:10:49 · 1084 阅读 · 1 评论 -
go语言字符串首字母变成大写
//字符首字母大写转换func Capitalize(str string) string { var upperStr string vv := []rune(str) // 后文有介绍 for i := 0; i < len(vv); i++ { if i == 0 { if vv[i] >= 97 && vv[i] <= 122 { // 后文有介绍 vv[i] -= 32 // string的码表相差32位 upperStr.原创 2020-10-21 17:45:56 · 2545 阅读 · 0 评论