go开发
swingLau007
这个作者很懒,什么都没留下…
展开
-
Go协程,用通道传输数据
【代码】Go协程,用通道传输数据。原创 2023-11-10 17:10:56 · 92 阅读 · 0 评论 -
Macbook ssh免密登录
ssh免密登录原创 2022-11-25 14:44:25 · 437 阅读 · 0 评论 -
开发日常命令
sed 查找查找时间开始的行sed -n '/^2022-04-18 23:40:05/p' HTTP.IDCSyncDataToYG_20220418.log查找user并替换sed -i "s/\"user\"\: \"root\"/\"user\"\: \"root\"/g" $1"/"$file 混合编译 生成 linux的go运行包 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o PowerCapacityNew/PowerCa原创 2022-04-28 12:15:31 · 253 阅读 · 0 评论 -
go远程调试dlv+goland
go远程调试dlv+golandwindows10 go开发, 无法进行cgo调试, 像kafka-go 这种就无法跑起来, 用远程调试就能解决问题了1. 远程机器设置1.1 安装dlv$ go install github.com/go-delve/delve/cmd/dlv@latest $ dlv versionDelve DebuggerVersion: 1.8.2Build: $Id: dbb493ec14d1e7753504d016b1e1ef1665b75b16 $1.2原创 2022-04-11 17:47:23 · 887 阅读 · 0 评论 -
Golang 的mysql 事务优雅的实现
思路是先封装一个事务函数,内置回调方法1 封装好的事务函数func Transaction(f func(session *xorm.Session) error) error { var err error session := engine().NewSession() if err = session.Begin(); err != nil { log.Error("session begin failed, err msg: %s", err.Error()) return fm原创 2021-11-04 17:24:20 · 685 阅读 · 0 评论 -
golang []map[string][string] , 先按大小,再按键名排序
type IpSortItem struct { Value int `json:"value"` Name string `json:"name"`}// 先按数量排序,再按名称排序func sortIPView(rspData []map[string]string) []*IpSortItem { var totalList []int dataList := make(map[int][]string) for _, value := range rspData {..原创 2021-06-10 10:41:48 · 965 阅读 · 0 评论 -
golang, multipart/form-data 的参数请求bug
1.1 请求不到POST参数的值 supplierName := r.Request.PostFormValue("supplierName") file, fileHeader, err := r.Request.FormFile("file") fmt.Println("supplierName:", supplierName) // 这里打印的值为空 1.2 能获取的值,file与postform顺序变一下 file, fileHeader, err := r.Request原创 2021-05-07 22:18:54 · 1713 阅读 · 0 评论 -
golang ipv4/6 与长整型 bigint的 转换实现
golang ipv4/6 与长整型 bigint的 转换实现import ( "encoding/hex" "errors" "fmt" "math/big" "net" "regexp" "strconv" "strings")// 0: invalid ip// 4: IPv4// 6: IPv6// 检查IP 用于 net.ParseIP(ipv4)func ParseIP(s string) (net.IP, int) { ip := net.ParseIP(原创 2021-04-26 20:00:53 · 948 阅读 · 0 评论 -
golang 文件的复制与下载
ioutil.ReadAll 也能实现文件写入,小文件还可以,大文件就内存不足了这次我们使用 io.copy方法,它就是在文件指针之间直接复制的,不用全读入内存。1.1 复制文件的功能实现先说方法的实现,其实还是很简单的/** * 复制文件 * 同样适用于文件下载 如 CopyFile(http.ResponseWriter,/root/test.txt) */func CopyFile(writer io.Writer, filePath string) error { srcFil原创 2021-03-30 21:01:14 · 277 阅读 · 0 评论