Golang及Web后端网络编程
文章平均质量分 78
用golang语言网站平台的搭后端学习记录
Mr.zwX
2019年进入电子科技大学接触计算机(机器学习/深度学习(CV、NLP、GNN)、时空数据挖掘、一点点前后端开发),2022年在电子科技大学实验室科研,2023年在复旦大学NLP组实习,2023年9月至今,在北京大学人工智能研究院科研(模型加速/压缩、隐私计算)...保持努力,anyway,这个平台是我记录一些乱七八糟计算机笔记的地方,供(记性不好的)自己复习,同时也分享给大家。如需联系:请发邮件至wenxuan225@qq.com
展开
-
golang传递变长参数
·函数的最后一个参数是...type...type...type的形式,说明这个函数可以处理变长参数,这个函数称为变参函数。·参数存储在slicesliceslice类型的变量slicesliceslice中,则通过slice...slice...slice...来传递参数,调用函数。package mainimport "fmt"func main() { a := min(...原创 2020-02-04 12:16:03 · 1497 阅读 · 0 评论 -
golang中的方法&接口&反射
嵌套方法//毕达哥拉斯定理package mainimport ( "fmt" "math")type Point struct { x, y float64}func (p *Point) Abs() float64 { return math.Sqrt(p.x*p.x + p.y*p.y)}type NamedPoint struct { Point na...原创 2020-02-13 22:08:53 · 243 阅读 · 0 评论 -
go-lint:exported type Post should have comment or be unexported.
在vscodevscodevscode中安装go−lintgo-lintgo−lint插件后,我的golang代码出现了一些报错,这里我把常见错误揉在一起结构体的代码如下:报错信息如下:解决方式:1、我们要在结构体的上一行编写函数注释文件,而且一定要用这个函数名称开头,注意外部需要调用的话,函数名/结构体名大写2、不要使用在golang语言中使用下划线命名,改user_name为us...原创 2020-02-22 13:26:58 · 5099 阅读 · 0 评论 -
在vscode中调用golang自定义包及调试配置
写自定义包的源文件注意路径!注意路径!注意路径!重要的事情说三遍!这个文件夹及其源代码一定要放在GOPATH/GOROOT路径下,在调包时才能import到该文件!在正确的路径下新建pack1文件夹,在文件夹中新建pack1.go,代码如下:package pack1type StructX struct { A int B float64 C string}...原创 2020-02-13 12:30:15 · 3328 阅读 · 0 评论 -
golang中map类型的排序方法
这里我们考虑下面这种map如何按照数字大小排序输出? map1["Mon"]=1 map1["Tue"]=2 map1["Wed"]=3 map1["Thu"]=4 map1["Fri"]=5 map1["Sat"]=6 map1["Sun"]=7首先将key/value拷贝进一个切片,对切片调用sort包进行排序教程中采用的是map[string]int类型,将string进...原创 2020-02-09 16:48:00 · 6905 阅读 · 0 评论 -
golang数组&切片&map---Key Points
1、数组的声明和初始化//声明一个int型的数组var arr [5]intarr := [5]int遍历一个数组for i:=0;i<len(arr);i++ { a[i]=0}for i:=0;i<len(arr);i++ { fmt.Printf("Array at index %d is %d\n",i,arr[i])//for-rangefor i,...原创 2020-02-06 17:26:58 · 1083 阅读 · 0 评论 -
珍藏的Go语言GoWeb以及Gin框架学习资料
Golang电子书传送门原创 2021-06-21 01:04:26 · 326 阅读 · 0 评论 -
Web后端开发笔记——会话跟踪机制Cookie and Session
" 对于开发者,cookie的是web开发里程上的一大发明,cookie是小甜点,绝不是恶魔。但是,如果使用不当,小甜点发霉了一样会有毒。"这样一句话,揭露了cookie的两个特点,实用和安全性。不管你知不知道cookie/session,你一定经历过这样的事——点开不久前登录过的网站,发现自己无需重复登录直接进入主页。曾有同学问过我这是怎么实现的,总的来讲,cookie/session是web领域常用的两种技术,实现对用户会话的跟踪。那么,cookie究竟是什么?session又是在怎么的背景下引入.原创 2020-12-18 23:36:07 · 468 阅读 · 2 评论 -
远程下载/上传 服务器文件到本地
做网站的前后端分离时需要将文件上传到云服务器运行/将云服务器上的文件下载到本地这里提供一种操作较简单的方法,用到的工具是XshellXshell通过互联网从本地远程连接到云端服务器,同终端的ssh命令行连接。首先保证Linux系统中安装好了lrzsz包:sz用于下载服务器文件到本地rz用于上传本地文件到服务器如果没有安装lrzsz,则在Ubuntu系统下执行如下命令:sudo apt-get install lrzsz于是打开Xshell,通过新建会话连接到远程服务器(同ssh命令连.原创 2020-08-11 12:39:19 · 2304 阅读 · 0 评论 -
【Golang后端】如果成功跳出 返回JSON数组的操作坑?
废话不多说,排版不多管了,直接把问题拿出来!又卡我几个小时我定义了结构体数组,将数据库中的用户数据拿出来存储进去,然后按照总分顺序排名成功!好了,我开始返回JSON形式了:但不幸的事情是:前端需要的是数组形式!!!,并且如上方法直接返回的话,返回结果按照字典序排列,不能保持上述键值对的顺序!!!看下图!顺序是字典序排列!那么——我们返回一两个参数还可以用gin.H{ }来解决,参数一多,再加上有序性,就得换一种方法来返回JSON数组了! 下面的代码是通常可以用到的://这种通常用gin.Hc.原创 2020-07-07 21:24:06 · 2072 阅读 · 0 评论 -
内网穿透及发布网站
多的话不讲,直接上教程:把自己电脑做成web服务器+内网穿透并发布网页需要注意的是:前后端分离的对接需要用到内网穿透的方法,前端将本地ip地址穿透到外网,并在IIS发布网站,这样便通过该url可以访问到该网站。后端将本地ip地址穿透到外网,这个url即前端需要发送请求的地址!如上便是参考博客外加一句话教程...原创 2020-07-07 10:25:40 · 426 阅读 · 2 评论 -
【Golang排序中的数据类型细节】困扰一周的little bug出现的huge problem!
短短的四五十行代码,从取数据库数据到排序,到JSON格式反馈,每一个逻辑、结构、算法、代码都似乎没有破绽,但是排序出来的样子,见下图。为啥两位数、三位数、四位数给我分开排啊?还不是按正确的次序呢?烦…上面是出现的问题,下面是正题鉴于注册时收数据用的是POST请求,所以收到的数据是string类型那么我在存放数据的时候,理所当然地存进了string类型的变量中然后呢?我从数据库取出数据存放在结构体数组中,以便排序这确实没有问题,于是没想想太多,数据也少,直接冒泡排序然后就出现了上述.原创 2020-07-03 21:43:13 · 296 阅读 · 0 评论 -
Navicat连接Mysql报错:Client does not support authentication protocol requested by server 及基本使用介绍
在使用Navicat premium 12 的时候没有出现问题,很快连接好了MySQL,但是用Navicat for MySQL 的时候,出现了如下的报错。问题重现使用Navicat premium 12的时候很顺利,一次到位!数据也可以通过MySQL语句方便地查询到!但是用Navicat for MySQL的时候,就出现以下错误!咋整呢?解决方案网上有很多做法是通过cmd登录到MySQL,但是我想不如直接打开MySQL命令窗口进行操作。据说是 因为新的mysql使用的密码算法和Nav.原创 2020-05-27 09:45:59 · 296 阅读 · 0 评论 -
记录MySQL服务启动(输入密码后闪退)
有一个月没有写goweb,今天在登录MySQL8.0的时候发现闪退,一度怀疑自己把密码记错了(因为密码错误会闪退的),但是始终试不出来,最后发现是服务自动关闭了,重新启动即可。遇到这个问题不要慌张!先考虑服务启动问题。1.找到此电脑中的管理2.打开服务和应用中的应用3.找到MySQL查看状态,如果没有正在运行则在左上角启动举个例子,启动如下:4.回到MySQL检查登录状况⭐Bingo!...原创 2020-05-24 19:25:45 · 824 阅读 · 0 评论 -
golang使用MySQL数据库常用操作
MySQL命令行操作及Golang代码.Golang操作引入包和驱动"database/sql"_ "github.com/go-sql-driver/mysql"连接数据库db, err := sql.Open("mysql", "dbusername:dbpassword@/dbname?charset=utf8")if err != nil { fmt.Println(...原创 2020-04-05 21:09:20 · 1837 阅读 · 0 评论 -
【Golang】Cookie保持会话状态的实现
前言在选择session和cookie时,考虑session位于服务器端,而cookie位于用户浏览器端,session的安全性更高。现在更多时候,写网站后台选择用session来保持会话状态。使用session时,我自己封装过一次session包,写的过程比较复杂,花了几天时间,而github.com/gin-contrib/sessions这个包可以直接调用即可(自己封装session包是一...原创 2020-04-05 11:15:15 · 2041 阅读 · 0 评论 -
golang关于找回密码功能的递进验证
局部总结的开篇废话更新一篇局部小总结的一个开头废话写招新平台之前,写一些小的demo来练手,熟悉整体的框架和思路但是学业繁重,主要眷顾大学课内的知识巩固,然后一边写算法竞赛的题目,网络编程这边在抽时间研究这个demo是分成很多阶段来写的,逐渐完善一些初级的功能,所以总结也是写代码之余偶尔写写,并没有专门来整理然后整理的这些总结呢,是一些自己觉得有意义的点(只是对个人有帮助,对大家仅供参...原创 2020-03-29 23:46:21 · 659 阅读 · 0 评论 -
检索MySQL表格不完全数据的小贴士
先一笔带过MySQL的基本使用说明import"database/sql"_ "github.com/go-sql-driver/mysql"启动MySQL数据库 db, err := sql.Open("mysql", "db_username:dbpassword@/dbname?charset=utf8") if err != nil { fmt.Println(">...原创 2020-03-23 21:14:38 · 204 阅读 · 0 评论 -
github.com/gin-contrib/sessions教程
开始刚开始写session的时候,走了点“弯路”,自己跟着封装sessions的思路去封装了一个sessions包,其实可以直接用现成封装好的sessions包来使用sessions功能。代码大纲:准备工作https://github.com/gin-contrib/sessions同时需要依赖包https://github.com/gorilla/sessions其实当时报错缺...原创 2020-03-23 15:26:45 · 6301 阅读 · 0 评论 -
Golang环境配置及第三方库安装使用(至关重要的防踩坑篇)
先长叹气一口,呼~最近用golang写网站后端的代码,我只能说这些代码可以跑,但是很不稳定。经常会出现第三方库,甚至!内置包的调用失败,红红的"can not import xxx"让人心里一凉。这“归功于”我的文件目录结构混乱不堪,寒假刚开始接触golang时连GOROOT GOPATH src bin等名词都没有想清楚,装的包和代码位置也是随便乱放,哪里可以给我运行,就从哪里打开…说来嘲讽,虽...原创 2020-03-09 21:48:00 · 3228 阅读 · 0 评论 -
Golang网络编程 实现简单的登录注册功能(无gin框架)
Golang网络编程 实现简单的登录注册功能文章目录Golang网络编程 实现简单的登录注册功能import必要的包主调函数数据准备返回内容传输变量实现登录注册功能的具体函数注册前提设置处理前端传入的数据及数据库的操作把字符串反馈给前端登录前提设置处理前端传入的数据及数据库的操作把字符串反馈给前端总结关于前后端交互原理小结后端代码的整洁性前后端功能的交融json交互时踩过的坑坑些学会使用浏览器提...原创 2020-03-01 16:31:05 · 4852 阅读 · 3 评论