后端语言
文章平均质量分 59
liuqun0319
个人微信 liuqun0319 欢迎交流
道阻且长,行则将至
有容乃大,无欲则刚,容是别人,欲是自己
展开
-
go 调用函数 函数里边defer、log和调用函数层级 defer、log执行顺序
go 调用函数 函数里边defer、log和调用函数层级 defer、log执行顺序原创 2022-06-21 16:56:48 · 359 阅读 · 0 评论 -
panic recovered, err: runtime error: invalid memory address or nil pointer dereference 怎么排查问题
panic recovered, err: runtime error: invalid memory address or nil pointer dereference原创 2022-05-11 15:54:23 · 1040 阅读 · 0 评论 -
go net/http: HTTP/1.x transport connection broken: malformed MIME header line:
当碰到错误 :net/http: HTTP/1.x transport connection broken: malformed MIME header line:********A服务版本为go 1.13.5调用 B服务1.9.2出现这个问题主要是由于go的版本过低解决方案: 升级对应服务器的低版本的go, go版本1.10之前都会有这种错误所以升级之后就解决了github原文链接 https://github.com/C-Sto/recursebuster/issues/18...原创 2021-09-08 17:49:39 · 3087 阅读 · 0 评论 -
go json.Unmarshal 精度问题怎么解决
golang使用json.Unmarshal的时候,有些数字类型的数据会默认转为float64,而一些数据因其比较大,导致输出的时候会出现数据与原数据不等的现象,var jsonBlob = []byte(`[ {"Name": "2000.00", "Order": "200.23"}, {"Name": "100.00", "Order": "12.00"} ]`) type Animal struct { Name float32 Order float32 } va原创 2021-08-17 21:21:09 · 669 阅读 · 0 评论 -
mac kafka 环境搭建 以及PHP的kafka扩展
深度拷贝链表https://studygolang.com/articles/31084结构体是否可以比较原创 2020-12-07 11:11:25 · 534 阅读 · 0 评论 -
go 垃圾回收:三色算法
转载自https://studygolang.com/articles/22194?fr=sidebar三色算法go垃圾回收器的操作都是基于三色算法,这篇文章主要来说明此算法。注意:三色算法并不是go独有的,它也会在其它编程语言中使用到严格来说,在Go中这个算法的官方名称是叫做三色标记清除算法(tricolor mark-and-sweep algorithm)。它可以和程序一起并发工作并且使用写屏障(write barrier)。这就意味着,当Go程序员运行起来,go调度器去负责应用程序的调度,而原创 2021-03-21 12:22:52 · 520 阅读 · 0 评论 -
Redis的五大数据类型的底层实现
转载自https://www.cnblogs.com/MouseDong/p/11134039.html简介Redis的五大数据类型也称五大数据对象;前面介绍过6大数据结构,Redis并没有直接使用这些结构来实现键值对数据库,而是使用这些结构构建了一个对象系统redisObject;这个对象系统包含了五大数据对象,字符串对象(string)、列表对象(list)、哈希对象(hash)、集合(set)对象和有序集合对象(zset);而这五大对象的底层数据编码可以用命令OBJECT ENCODING来进行查原创 2021-03-14 17:40:35 · 338 阅读 · 0 评论 -
golang之树遍历
转载自https://studygolang.com/articles/16314go语言在区块链编程中有巨大的优势,其中fabric和ethereum都是基于go语言编写的。为了能更好的学习区块链的底层技术,先将go的基础打好。本篇文章使用golang来实现树的遍历树的定义package maintype Node struct { Val int Left *Node Right *Node}深度优先遍历深度优先遍历需要优先使用栈栈的定义package main原创 2021-03-14 14:08:12 · 1094 阅读 · 0 评论 -
go orm框架对比
订单系统重构技术选型针对目前订单系统由PHP系统重构成go系统orm 技术调研选型ormgormxorm地址官网 :https://gorm.cn/ github:https://github.com/go-gorm/gorm官网:https://xorm.io/ github: https://github.com/go-xorm/xormstar(目前)226666305优势1.全功能 ORM 2.关联 (has one,has many,bel原创 2021-02-06 21:55:18 · 6792 阅读 · 0 评论 -
go mod tidy 报错:verifying ...: checksum mismatch
转载自 https://maiyang.me/post/2019-01-23-go-mod-tidy-occure-verify-checksum-mismatch/杨文大佬整理的博客在编译阶段时执行 go mod tiny 报错go: verifying github.com/docker/docker@v1.13.1: checksum mismatch解决办法$ go clean -modcache$ cd project && rm go.sum$ go mod转载 2021-01-17 13:07:09 · 958 阅读 · 0 评论 -
浅析Go中的MPG模式(一)
Goroutine(协程)首先了解一下协程(goroutine)这个东西1、Go线程(主线程,一般称为线程,有的大佬们也直接叫进程),也可理解为进程。是一个物理级线程,重量级的,非常耗费CPU资源2、一个线程上可以有多个协程(goroutine),协程是轻量级的线程(go对于线程进行的特殊处理)。逻辑态,消耗资源相对少。按照消耗资源可以这样排序:进程 >= 主线程 > 子线程 >= 协程3、Go协程特点(1)有独立的栈空间(2)共享程序堆空间(3)调度由用户(程序)控制转载 2020-12-20 15:55:32 · 545 阅读 · 0 评论 -
panic: assignment to entry in nil map
转载自:https://github.com/kevinyan815/gocookbook/issues/7golang中map是引用类型,应用类型的变量未初始化时默认的zero value是nil。直接向nil map写入键值数据会导致运行时错误panic: assignment to entry in nil map看一个例子:package mainconst alphabetStr string = "abcdefghijklmnopqrstuvwxyz"func main() {原创 2020-12-15 16:54:00 · 6044 阅读 · 0 评论 -
Golang 新手可能会踩的 50 个坑
前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的坑是很常见的,新手跳过这些坑,能减少大量调试代码的时间。 初级篇:1-34 1. 左大括号 { 不能单独放一行 在其他大多数语言中,{ 的..转载 2020-12-15 15:46:56 · 2908 阅读 · 0 评论 -
go json返回时间字符串处理time.Time类型
go json返回时间字符串处理time.Time类型go json 字符串转成 time.Time类型go -62135596800原创 2020-09-06 16:01:52 · 2645 阅读 · 0 评论 -
php求一个字符串中不重复的最长子串
今天被滴滴面试官面试,又一个算法问题…问题就是找到字符串里不包括重复字符的最长子字符串。<?php$string = "abcdaefaedkqatlmtx";function test($string) { $len = strlen($string); $arr = []; for ($i=1;$i<$len;$i++){ for ($j=1;$j<$len;$j++){ //从第0个开始一次截取最大长度,然后原创 2020-07-28 21:10:27 · 616 阅读 · 3 评论 -
php for一层循环 解决两个有序数组组成一个有序数组
php for一层循环 解决两个有序数组组成一个有序数组public function reNum() { $arr1 = [1,5,7]; $arr2 = [3,4]; $data = []; $a = 0; for($i=0;$i<count($arr1)||$a<=count($arr2);){ $num1 = $arr1[$i]; $num2 = $arr2[$a]; if($num1>=$num2){ $data[]= $arr1[$i]; $原创 2020-07-21 17:45:58 · 303 阅读 · 0 评论 -
五种常见的 PHP 设计模式
设计模式对于每个人都非常有用观察者模式观察者模式为您提供了避免组件之间紧密耦合的另一种方法。该模式非常简单:一个对象通过添加一个方法(该方法允许另一个对象,即 观察者 注册自己)使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。这些观察者使用该信息执行的操作与可观察的对象无关。结果是对象可以相互对话,而不必了解原因。一个简单示例是系统中的用户列表。清单 4 中的代码显示一个用户列表,添加用户时,它将发送出一条消息。添加用户时,通过发送消息的日志观察者可以观察此列表。清单 4.原创 2020-07-13 17:42:41 · 249 阅读 · 0 评论 -
Go Modules与GOPROXY 配置
随着Go 1.13发布,GOPROXY默认值proxy.golang.org在中国大陆不能被访问。七牛云顺势推出goproxy.cn,以利于中国开发者更好使用Go Modules,它是非盈利性的项目,首先感谢七牛云。Windows下使用教程:(1)升级到Go1.13(2)运行<go env -w GO111MODULE=on> ...原创 2019-11-23 13:51:03 · 3236 阅读 · 0 评论 -
go语言的冒泡 选择 快排 二分 算法实现
冒泡算法的实现:func bubbleSort(arr []int) []int { n := len(arr) for i := 0; i < n-1; i++ { for j:=0;j<n-1-i;j++{ if arr[j]>arr[j+1]{ arr[j],arr[j+1] = arr[j+1],arr[j] } } } return...原创 2019-10-26 13:09:03 · 348 阅读 · 0 评论 -
小刘的http状态码整理
**200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务)204 NO CONTENT - [DELETE]:用户删除数据成功。400 INVALID REQUEST - [POST...原创 2019-10-10 21:46:01 · 276 阅读 · 0 评论 -
原码 补码、反码的关系
计算机内部,运行各种运算时,都是以二进制的方式来进行的。原码 、反码、 补码往上对原码,反码、补码的解释如下,精简为如下6句话对于有符号的而言二进制的最高位是符号位,0表示正数,1表示负数。1====> [ 0000 0001]-1====> [1000 0001]正数的原码、反码、补码都一样。负数的反码=它的原码符号位不变,其它位取反(0-1,1...原创 2019-08-01 00:24:21 · 1056 阅读 · 0 评论 -
go笔记
时间和日期函数时间和日期相关函数,需要导入time包获取当前时间 now := time.Now()如何获取到其他的日期信息 now.Format()fmt.Printf(’%d-%d-%d %d:%d:%d’, now.Year(),now.Month(),…)格式化日期时间的第二种方式fmt.Printf(now.Format(“2006-01-02 15:04:05”))...原创 2019-07-19 12:44:09 · 299 阅读 · 0 评论 -
go笔记
go的原创 2019-06-29 10:16:32 · 408 阅读 · 0 评论