随笔分类 -  Golang

Go语言相关
golang 基本技巧 interface 增加元素
摘要:1.golang interface增加元素 s := "first" rest := []interface{}{"second", 3} all := append([]interface{}{s}, rest...) fmt.Println(all) 阅读全文

posted @ 2022-07-24 17:19 星河赵 阅读(710) 评论(0) 推荐(0) 编辑

golang 获取当前执行程序的路径。
摘要:golang 可以使用下面的函数获取当前执行程序的路径。 func getCurrentPath() string { if ex, err := os.Executable(); err == nil { return filepath.Dir(ex) } return "./" } 阅读全文

posted @ 2022-05-31 15:04 星河赵 阅读(2457) 评论(0) 推荐(0) 编辑

了解进程、线程、协程概念
摘要:首先我们先来了解几个与并发编程相关的基本概念。 串行、并发与并行 串行:我们都是先读小学,小学毕业后再读初中,读完初中再读高中。 并发:同一时间段内执行多个任务(你在用微信和两个女朋友聊天)。 并行:同一时刻执行多个任务(你和你朋友都在用微信和女朋友聊天)。 进程、线程和协程 进程(process) 阅读全文

posted @ 2022-05-20 14:24 星河赵 阅读(51) 评论(0) 推荐(0) 编辑

go module介绍
摘要:Go module 是 Go1.11 版本发布的依赖管理方案,从 Go1.14 版本开始推荐在生产环境使用,于Go1.16版本默认开启。Go module 提供了以下命令供我们使用: go module相关命令 命令介绍 go mod init 初始化项目依赖,生成go.mod文件 go mod d 阅读全文

posted @ 2022-05-18 11:07 星河赵 阅读(146) 评论(0) 推荐(0) 编辑

golang 语言中常见占位符含义 %s %d %c
摘要:常见占位符含义 %b 一个二进制整数,将一个整数格式转化为二进制的表达方式%c 一个Unicode的字符%d 十进制整数%o 八进制整数%x 小写的十六进制数值%X 大写的十六进制数值%U 一个Unicode表示法表示的整型码值%s 输出以原生的UTF8字节表示的字符,如果console不支持utf 阅读全文

posted @ 2022-04-28 18:12 星河赵 阅读(2239) 评论(0) 推荐(0) 编辑

golang md5加密和python md5加密比较
摘要:python md5加密和golang md5加密各有不同,记录于此做备忘 Python 方法 md5 import base64 import hashlib def get_md5_data(body): """ md5加密 :param body_json: :return: """ md5l 阅读全文

posted @ 2022-04-25 18:28 星河赵 阅读(601) 评论(0) 推荐(0) 编辑

golang常用的http请求操作 GET POST总结汇总
摘要:下面主要整理了常用的通过golang发起的GET请求以及POST请求的代码例子 1.golang发起GET请求 基本GET请求 //基本的GET请求 package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, er 阅读全文

posted @ 2022-04-14 16:54 星河赵 阅读(8512) 评论(0) 推荐(0) 编辑

Golang 操作mongo
摘要:最近学习在go中操作mongodb,了解到主要有第三方mgo和官方mongo-driver两个库使用最多。mgo已经停止维护了,因此选择了mongo-driver。本文记录一些常用的代码操作笔记,以备随时查阅。 package main import ( "context" "fmt" "go.mo 阅读全文

posted @ 2022-04-01 17:13 星河赵 阅读(1163) 评论(0) 推荐(0) 编辑

Go 获取当前项目路径 支持go run go build 两种方式
摘要:Go 获取当前项目路径,通过 os.Executable() go run 和go build是不同的路径。 提供通用的解决方法如下: package main import ( "fmt" "log" "os" "path" "path/filepath" "runtime" "strings" 阅读全文

posted @ 2022-03-22 10:59 星河赵 阅读(1367) 评论(0) 推荐(0) 编辑

Go 协程实现原理和使用示例
摘要:Go 并发编程原理 Go 语言的协程实现被称之为 goroutine,由 Go 运行时管理,在 Go 语言中通过协程实现并发编程非常简单:我们可以在一个处理进程中通过关键字 go 启用多个协程,然后在不同的协程中完成不同的子任务,这些用户在代码中创建和维护的协程本质上是用户级线程,Go 语言运行时会 阅读全文

posted @ 2022-03-18 15:09 星河赵 阅读(1427) 评论(0) 推荐(0) 编辑

Go 操作文件 遍历目录获取文件列表
摘要:通过go遍历目录获取文件列表 本文将会列举三种方法 by Using: filepath.Walk ioutil.ReadDir os.File.Readdir 使用filepath.Walk path/filepath 标准库的包提供了便捷的Walk方法,它能自动的扫描子目录,使用起来也很简单 p 阅读全文

posted @ 2022-03-18 14:26 星河赵 阅读(4204) 评论(0) 推荐(0) 编辑

GO语言中 json byte 与map 两种类型的转换
摘要:Go语言中json字符串与map相互转换 package main import ( "encoding/json" "fmt" ) func main() { map2byte2map() } func map2byte2map() { map1 := make(map[string]interf 阅读全文

posted @ 2022-03-17 17:40 星河赵 阅读(509) 评论(0) 推荐(0) 编辑

golang 图片处理,剪切,base64数据转换,文件存储
摘要:本文主要介绍: 1. 图片文件的读写。 2. 图片在go缓存中如何与base64互相转换 3. 图片裁剪 本文中,为了方便查看,去掉所有错误判断 base64 -> file ddd, _ := base64.StdEncoding.DecodeString(datasource) //成图片文件并 阅读全文

posted @ 2022-03-17 16:41 星河赵 阅读(3233) 评论(0) 推荐(1) 编辑

golang如何禁用gc?
摘要:如何理解GC? GC理解为垃圾回收,常见触发垃圾回收是计数引用,当引用计数为0时会触发垃圾回收。此时系统并不会回收内存,而是会当作垃圾存放起来,当下次需要的时候,快速使用。 关闭GC系统就会彻底回收内存。 C语言和C++是没有垃圾回收机制的。 关闭GC:方法一:设置环境变量 GOGC=off方法二: 阅读全文

posted @ 2022-03-08 16:07 星河赵 阅读(1142) 评论(0) 推荐(0) 编辑

Go 切片操作
摘要:前言 go语言中的切片,可以看作是可变化长度的数组(动态数组)。有长度(len)和容量(cap),容量必大于等于长度。 切片的结构体定义如下: type SliceHeader struct { Data uintptr Len int Cap int } 切片的定义方式 var ( a []int 阅读全文

posted @ 2022-01-27 16:47 星河赵 阅读(886) 评论(0) 推荐(0) 编辑

Go 数组相关操作
摘要:一、内置函数 append :追加元素到slice里,返回修改后的slice close :关闭channel delete :从map中删除key对应的value panic : 用于异常处理,停止常规的goroutine recover :用于异常处理,允许程序定义goroutine的panic 阅读全文

posted @ 2022-01-27 15:07 星河赵 阅读(561) 评论(0) 推荐(0) 编辑

golang 解决Gin框架,body参数只能读取一次问题
摘要:在使用gin框架的时候,发现请求的body数据只允许读取一次。 读取第二次BindJSON这一步报错:EOF。 利用golang官方库,推荐这种方法解决这个问题 package main import ( "fmt" "gopkg.in/gin-gonic/gin.v1" "net/http" "i 阅读全文

posted @ 2022-01-21 15:47 星河赵 阅读(902) 评论(0) 推荐(0) 编辑

golang map做排序后,md5加密
摘要:Go map字典排序后md5加密 package main import ( "bytes" "crypto/md5" "encoding/hex" "encoding/json" "fmt" "sort" "strings" ) func main() { params := make(map[s 阅读全文

posted @ 2022-01-20 14:22 星河赵 阅读(395) 评论(1) 推荐(0) 编辑

golang map与string的相互转换
摘要:map和json相互转换 MapToJson 为map转json. JsonToMap 为json为map package main import ( "encoding/json" "fmt" ) func MapToJson(param map[string]interface{}) strin 阅读全文

posted @ 2022-01-20 11:58 星河赵 阅读(2868) 评论(0) 推荐(0) 编辑

Go 将interface转为int, string, slice, struct等类型
摘要:在golang中,interface{}允许接纳任意值,int, string, struct,slice等,因此我可以很简单的将值传递到interface{} 但是当我们将任意类型传入到test函数中转为interface后,经常需要进行一系列操作interface不具备的方法(即传入的User结 阅读全文

posted @ 2022-01-07 10:21 星河赵 阅读(5270) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示