自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 选课系统接口文档

1.统一登录接口请求接口:login.go请求方式:POST请求参数:Json角色类型是否必须说明rolestring是三种角色1.学生2.老师3.管理员usernamestring是用户名1.学号2.教工号3.管理员教工号passwordstring是密码...

2022-03-14 16:59:16 1716

原创 心理健康检测系统接口文档

1.接口说明:学生登录接口请求接口:childlogin.php请求方式:POST请求参数:Json参数名类型是否必须说明usernamestring是学生姓名passwordstring是学生密码返回参数:Json参数名类型是否有说明codeint是200/500msgstring是“数据库连接失败”/“用户名不存在请先去注册”/“密码错误”/“用户名为空”flagint是flag为0时表示有错

2022-03-10 20:29:15 680

原创 URL正则匹配

正则匹配一.修饰符二.元字符三.匹配规则一.修饰符标记位于正则表达式之外:修饰符含义及描述iignore-不区分大小写gglobal-全局匹配,查找所有的匹配项mmuli line-多行匹配二.元字符把要搜索的文本放在字符之前,例如o{1,3}。字符含义^匹配输入字符串开始的位置$匹配输入字符串结束的位置*匹配前面的子表达式零次或多次+匹配前面的子表达式一次或多次.匹配除换行符(\n、\r)之外的任何

2021-05-21 17:22:21 889

原创 go-protoc导出时遇到protoc-gen-go: unable to determine Go import path解决方法

刚开始导出时碰到这个问题解决方法:在.proto文件中一定不要忘了加option go_package =“go/src/microtest/proto”;go/src/microtest/proto这个是项目的绝对路径,不加的话因为找不到路径所以报了上面的错写一个简单的例子就比如:然后,在用plugins=micro导出micro对应的protocolbuffer文件时,报出错误:他并没有识别这个micro插件,于是乎应该这样做:protoc --proto_path=. --micro

2021-04-03 17:33:36 16649

原创 ubuntu装etcd 亲测有效

命令号如下:下面的直接复制粘贴到终端就好了 curl -L https://github.com/coreos/etcd/releases/download/v3.3.0-rc.0/etcd-v3.3.0-rc.0-linux-amd64.tar.gz -o etcd-v3.3.0-rc.0-linux-amd64.tar.gz && sudo tar xzvf etcd-v3.3.0-rc.0-linux-amd64.tar.gz && cd etcd-v3.3.

2021-04-03 13:46:41 890

原创 ubuntu安装protoc全过程 亲测有效

命令行如下:git clone https://github.com/protocolbuffers/protobuf.gitgit clone https://github.com/protocolbuffers/protobuf.gitsudo apt-get install autoconf automake libtool curl make g++ unzipcd protobuf/git submodule update --init --recursivesudo ./autogen

2021-04-03 11:04:45 7420 6

原创 golang力扣刷题篇--二叉树

总结最近刷的关于二叉树的算法题:1.

2021-02-22 23:18:34 203

原创 golang力扣刷题--链表篇

2两数相加func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode { dummy :=new(ListNode) cur :=dummy carry :=0 for l1!=nil||l2!=nil||carry>0{ cur.Next=new(ListNode) cur = cur.Next if l1!=nil{

2021-02-22 23:07:29 219

原创 golang引用类型slice和map

这里写目录标题一两种引用类型的初始化及其日常操作二slice的底层数据结构以及扩容机制三map的底层数据结构以及扩容机制一两种引用类型的初始化及其日常操作大家可以阅读这个博主的讲解很清晰slice:https://www.liwenzhou.com/posts/Go/06_slice/map:https://www.liwenzhou.com/posts/Go/08_map/二slice的底层数据结构以及扩容机制 slice简单来说是一个动态数组,他的底层数据结构还是数组 他有三个部

2021-02-21 23:37:15 257

原创 golang数据类型详解

golang基本数据类型一基本数据类型分类二字符串底层存储方式三值类型和引用类型一基本数据类型分类golang的基本数据类型有五种:整数型小数型字符型布尔型字符串型二字符串底层存储方式string:golang默认编码方式UTF-8存储:字符集+编码字符串类型的存储方式:data起始地址+字节个数golang中字符串内容是不会修改的,所以编译器会把字符串分配到 只读内存段,若要修改,尽量重新定义或者通过转字节使用slice操作。三值类型和引用类型值类型定义:变

2021-02-21 11:15:38 489

原创 字节一面凉经

能被翻到纯属偶然,本来只是想投上海的试试看,毕竟我的简历连照片都没有,然后上海的字节打电话给我,我说不想去上海,隔了一周,北京的字节竟然打电话了,神奇宝贝在哪里????面试官很严肃,全程冷投的是go岗,准备了一周,正题来了,他都问了些什么(心态很崩)第一问:多态和重载???go本来是个面向过程的,这一上来直接搞个面向对象,但还好回答上来了一点点第二问:用什么数据结构实现一个有序字典???回答:链表???好吧,凉第三问:用SQL实现查找一个前三的用户数,反正就是groupby 加limit大概写

2020-12-25 18:17:50 127

原创 golang数据类型互换

由于go是强类型语言,因此在你用别人写的处理函数的时候,变量类型的准确性还是很重要的,今天写东西的时候碰到go类型转换的问题,总结一下吧,没有用类型断言,直接上代码,只有几种,后面有的话再补上:第一种: 接口类型转字符串类型var inter interface{} inter = "hello" str := inter.(string) fmt.Println(reflect.TypeOf(str))编译运行结果是这样的:第二种:接口类型转int型var inter interfac

2020-11-12 21:30:03 200

原创 gorm之踩坑(二)too many connections

今天压测的时候首先带参请求了login控制器,于是就有下面的问题:too many connections这样的问题导致数据库直接关闭了,之前一条数据测试的时候是没有任何问题的,因为一条db不关闭是完全没有问题的,但是压测的时候就不是这样的了,下面是我压测时候的场景:首先说一下我用的压测工具:go-wrk使用前少不了go get一下:go get github.com/adeven/go-wrk它的基本用法是:go-wrk [flags] urlflags是参数:-H=“User-Agent:

2020-11-07 16:54:54 2316

原创 gorm踩坑记录(一)

情况是这样的:我用gorm里面的create往mysql里面插入一条记录,这个记录里面有一个创建时间的字段,然后开始的时候是这样的:这是我数据库的字段:之后用postman插入几次mysql竟然是这种情况:然后既然主键在增加,那么这create肯定可以用,我还打印出所有变量,发现没有任何问题,于是我怀疑是不是字段类型的问题,果不然绑定的那个结构体里面的created属性是string类型,那么打印出来的时间这个时候是存不进去Mysql里面的,除非你把时间这个属性修改为time.Time,下面是

2020-11-06 18:19:50 428

原创 golang中随机生成一个四位数

今天我主要是想往邮箱发送一条自动生成的四位数,于是发现了go里面自带的这几个函数,展示代码如下:package commonimport ( "fmt" "math/rand" "time")func Createcode() string{ return fmt.Sprintf("%04v",rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000))//这里面前面的04v是和后面的1000相对应的}也就是说你如果

2020-10-27 21:07:53 3259

原创 golang中如果前端传过来的json数据比自定义的结构体数据字段多,再插入数据库时到底是个什么样的结果

今天主要来测试,当我们在自己的代码段中定义的结构体,这个结构体和数据库里用户表的字段是一模一样的,那么当前端传来的json解析后,发现有些字段为空时,那么我们再往数据库里面插入数据时,数据库里面的数据是什么样的呢?在这里因为没有前端代码我直接实例化一个缺胳膊少腿的结构体,代码段如下:package mainimport ( "awesomeProject2/common" "fmt")type User struct { Id int Username string

2020-10-27 20:31:40 476

原创 golang中间件之跨域代码解析

跨域资源共享(CORS,Cross-Origin Resource Sharing),其本质是设置响应头,使得浏览器允许跨域请求。*具体关于简单请求和复杂请求的差别请参考:func CORSmiddleware() gin.HandlerFunc {//总的来说,这个中间件用于预请求return func(c *gin.Context) {method := c.Request.Method //请求方法//fmt.Println(method)c.Header("Access-Control

2020-10-24 18:09:22 378

原创 Goland导入github包

goland终端如何导入github上的包例如:我们要导入gin包,最开始我直接输入go get -u github.com/gin-gonic/gin会出现以下的问题:# cd F:\goworkspace\src\github.com\gin-gonic\gin; git pull --ff-onlyfatal: not a git repository (or any of the parent directories): .gitpackage github.com/gin-gonic/g

2020-09-05 16:22:13 5271 1

原创 MySQL关于触发器

定义:触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete, update)时就会激活它执行。以上是度娘的答案我的理解:一件的事务的发生 触发 另一件事情的发生 ,就类似开关作用场所:触发器经常用于加强数据的完整性...

2020-04-25 14:22:17 192

原创 mysql存储过程

存储过程定义:一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。 存储过程通常有以下优点: (1)存储过程在服务器端运行,执行速度快。 (2)存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲存储器中调用已编译好的二进制代码执行,提高了系统性能。 (3)确保数据库的安全。使用存储过程...

2020-04-25 12:21:48 192

原创 Integrity constraint violation: 1048 Column 'student_id' cannot be null

Integrity constraint violation: 1048 Column ‘student_id’ cannot be null出现这个问题的原因:我在数据库表里设置了student_id为主键,主键又不能为空,但此时传过来的id是空的,自然会报错。解决办法要么设置此字段可以为空 要么删主键...

2020-02-23 14:31:52 7227

原创 在thinkphp中实现两个前端页面的跳转

在html中有这个href的参数不能是普通原生的跳转方式因为会报错 这个模板不存在这样子写注册

2020-02-18 20:31:30 790 1

原创 解决Call to a member function assign() on null

控制器里谢了一个构造函数__construct,然后就报错 Fatal error: Call to a member function assign() on null为什么出现这样的问题原因:新的构造函数覆盖父级构造函数,导致无法调用框架中包含的函数类解决办法:将__construct()改为_initialize()...

2020-02-16 20:37:17 1249

原创 数据结构二分法

前提:该序列必须为有序序列#include<stdio.h>void main(){int a[8]={1,2,3,4,5,6,7,8};int min,max,mid,n;min=0;max=7;scanf("%d",&n);while(min<=max){mid=(max+min)/2;if(a[mid]>n)max=mid-1;if...

2019-11-20 18:49:14 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除