全栈
从事软件开发工作多年,拥有较为丰富的开发经验,主导多个大型项目的研发工作,丰富的项目经验。
设计软件架构和撰写软件方案等。
展开
-
go 设置静态资源访问目录
go 设置静态资源访问目录原创 2023-02-22 17:34:09 · 526 阅读 · 0 评论 -
聊聊go 写GUI
从网上找了下关于go写GUI的一些库和一些项目。原创 2022-09-26 11:07:03 · 1692 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列 (11)双击表格更新数据并保存。
layui 单击修改单元格。mongodb更新数据。原创 2022-04-24 16:35:32 · 1984 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列 (10)使用mod 来管理包
go使用module 来管理包原创 2022-03-22 16:16:27 · 715 阅读 · 0 评论 -
go mod 使用报错问题
解决go mod自动下载包失败的问题。go mod no required module provides package github.com/gin-gonic/gin; to add it:原创 2022-03-21 15:14:22 · 4826 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(9)连接mongodb 配置双数据源 由简入繁 实现查询数据表
go链接mysql查询数据到前端展示。原创 2022-03-14 16:55:28 · 1041 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(8)连接Mysql 配置双数据源 由简入繁 实现增删改查
1. 由简入繁,配置mysql,编写配置项首先引入驱动:go import : go get -u github.com/go-sql-driver/mysql 没有错误,表示引入成功。package dbimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")const ( DB_Driver = "root:root@tcp(localhost:3306)/hcydb?charset=u..原创 2021-04-19 15:12:30 · 535 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(7) 链接数据库mongoBD,执行sql语句
1. 首先链接数据建立配置文件.ini 文件地址conf/app.ini这个实例里采用的是非结构化数据库mongoBDgolang连接数据库mongoBD[http]port = ":8888"[mongo]url = "127.0.0.1:27017"db = "mycol"username = "testname"password = "testname"[redis]url = "127.0.0.1:6379"2. 编写数据库连接公共方法。packag..原创 2021-04-09 10:09:21 · 495 阅读 · 0 评论 -
GO 网络编程 使用GO搭建UDPServer 服务器支持多线程
直接上代码:package mainimport ( "fmt" "net" "os")// 限制goroutine数量var limitChan = make(chan bool, 3) //var limitChan = make(chan bool, 1000)// UDP goroutine 实现并发读取UDP数据func udpProcess(conn *net.UDPConn) { data := make([]byte, 1024) n,remoteAdd原创 2021-03-31 09:41:11 · 966 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(6) 实现用户部分,编辑用户
前端启动行编辑修改数据。<script> layui.use('table', function(){ var table = layui.table; // var laypage = layui.laypage; // //执行一个laypage实例 // laypage.render({ // elem: 'test1' //注意,这里的 test1 是 ID,不用加 # 号原创 2020-05-29 03:53:57 · 1367 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(5) 实现登录部分,校验登陆用户
首先修改页面的login.html添加页面登陆事件这块js写的: function login() { var formData = new FormData(); formData.append("username",$('input[name="username"]').val()) formData.append("password",$('input[name="password"]').val())原创 2020-05-29 03:45:12 · 1213 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(4) 基础包管理,包括数据库访问,配置文件管理
有童鞋反应说让把,基础配置部分,包括数据库访问,和配置部分也贴出了。这里插入一篇文件,单独做个介绍首先在主工程目录创建conf 和db 两个配置包如图:其中app.ini 包含的时候此工程的运行配置,包含端口号,数据库,redis缓存等等。这个后面会根据业务的需求,添加不同的配置信息。创建app.ini[http]port = ":8888"[mongo]url = "127.0.0.1:27017"db = "mycol"username = "testname"原创 2020-05-29 03:31:26 · 729 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(3) 编写鉴权控制 jwt包
编写此包目的,主要是为了验证token,校验用户登陆数据,还可进行权限访问等等:创建jwt.go。 本演示包位于middleware下直接上代码,不多说:package jwtimport ( "github.com/gin-gonic/gin" "myProject/pkg/e" "myProject/pkg/util" "net/http" "strings" "time")/** 每一个请求前验证Token*/func JWT() gin.HandlerFu原创 2020-05-29 03:23:31 · 1075 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(2) 编写路由控制包 router包
首先创建一个router 的包编写配置文件:router.go文件package routersimport ( "fmt" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" "io/ioutil" "myProject/controllers" "myProject/db" "myProject/middleware/jwt" "myProject/routers/api")func InitRoute原创 2020-05-29 03:12:15 · 1005 阅读 · 0 评论 -
一起使用GO(golang) 来做一个后台管理系统系列(1) 载入启动 golang gin 框架
从本篇文章开始逐步带大家使用go gin web框架来做一个后台管理系统。本篇文章是一系列的,连续博文。大家可以关注后,持续观看。前端代码使用开源代码 x-admin首先要在gopath 下载gin 框架,这个我就不在这里演示了。创建启动文件main.go, 下面放出代码:这里头包含加载 路由控制管理器router的文件加载。这个在后面放出来。还包括启动了一个定时器任务。五秒打印一次。代码:https://github.com/Huochengyan/myGoProject..原创 2020-05-29 02:59:37 · 3220 阅读 · 0 评论 -
每日一道go的知识4
go 语言中的 channel 有缓冲和无缓冲的区别是什么答: 其实就是一个是同步的,一个是非同步的。 比如:有缓冲区的会在取得第一个值的时候,能够执行进入到主线程无缓冲区的会一直阻塞在那,等着。2. go 语言中切片什么时候会扩容,如何扩容答:当append操作时检查是否有足够的容量,发现超过指定长度时会扩容,每次放大一倍。3. go 语言中有哪些引用类型答:map slice channel4. go 语言中有哪些常用的锁答: (1)互斥锁 sync.mut...原创 2020-06-06 12:57:26 · 377 阅读 · 0 评论 -
golang 互斥锁和读写锁
1. 互斥锁先看个例子func main(){ fmt.Println("start study golang...... ") // 1.声明互斥锁 var mutex sync.Mutex count:=0; for r:=0;r<20 ;r++ { go func() { mutex.Lock() count+=1; defer mut...原创 2020-05-06 00:45:59 · 754 阅读 · 0 评论 -
go 语言学习 3. 强大的标准库
学习编程语言,早已不是学一点语法规则那么简单。现在更习惯称作选择 Ecosystem(生态圈),而这其中标准库的作用和分量尤为明显。在Go语言的安装文件里包含了一些可以直接使用的包,即标准库。Go语言的标准库(通常被称为语言自带的电池),提供了清晰的构建模块和公共接口,包含 I/O 操作、文本处理、图像、密码学、网络和分布式应用程序等,并支持许多标准化的文件格式和编解码协议。在 Windows...原创 2019-12-31 15:44:24 · 269 阅读 · 0 评论 -
go gin单文件上传
package mainimport ( "fmt" "net/http" "path/filepath" "github.com/gin-gonic/gin")func main() { router := gin.Default() // Set a lower memory limit for multipart forms (default is 32 MiB)...原创 2019-11-25 17:15:43 · 350 阅读 · 0 评论 -
Go 反射获取结构体的字段名和字段值 根据字段名获取字段值
直接上代码:type User struct{ Username string `json:"Username"` Socre float`json:"Socre"`}//获取结构体中字段的名称func GetFieldName(columnName string, info User) float64 { var val float64...原创 2019-09-12 10:25:32 · 18333 阅读 · 2 评论 -
golang list 删除添加元素
在 Go 语言中,将列表使用 container/list 包来实现,内部的实现原理是双链表。列表能够高效地进行任意位置的元素插入和删除操作。初始化列表list 的初始化有两种方法:New 和声明。两种方法的初始化效果都是一致的。1) 通过 container/list 包的 New 方法初始化 list变量名 := list.New()2) 通过声明初始化listvar ...原创 2019-03-25 13:07:10 · 7518 阅读 · 0 评论 -
go 链接mongo db
package dbimport ( "context" "github.com/mongodb/mongo-go-driver/mongo" "time")/* mongodb */func InitMongoDB() (collection *mongo.Database, err error){ const url = "mongodb://192.168.1.108...原创 2019-03-25 19:00:58 · 403 阅读 · 0 评论 -
go (计算机编程语言)
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布...原创 2019-03-22 18:39:46 · 1148 阅读 · 0 评论 -
go gin 解决垮域问题
直接上代码: router :=gin.New() //gin.Default() config := cors.DefaultConfig() config.AllowAllOrigins = true router.Use(cors.New(config))原创 2019-03-26 15:55:07 · 788 阅读 · 0 评论 -
go 使用gin框架
package corllimport ( "context" "fmt" "github.com/gin-gonic/gin" "github.com/mongodb/mongo-go-driver/bson" "github.com/mongodb/mongo-go-driver/bson/primitive" "github.com/mongodb/mongo-go-dri...原创 2019-04-04 10:56:11 · 934 阅读 · 0 评论 -
go gin 上传文件 目录不存在 创建目录
直接上代码:package corllimport ( "fmt" "github.com/gin-gonic/gin" "io" "log" "net/http" "os")/* upload file */func Uploadfile(g*gin.Context) { fmt.Println("......uploadfile") file, hea...原创 2019-03-26 17:35:41 · 1846 阅读 · 0 评论 -
go 搭建web 服务器
最近研究go 做下记录在这里,顺便分享给大家:代码上传到了github 大家可以下载一起学习研究https://github.com/Huochengyan/myGoProject/tree/masterpackage mainimport ( "fmt" "github.com/gin-contrib/cors" "github.com/gin-gonic/g...原创 2019-03-26 19:02:52 · 601 阅读 · 0 评论 -
go bson.ObjectId undefined 的问题 修改等问题
在获取mongo db 的_id 上很多的都写用 bson.ObjectId可是在你的版本没有怎么办?go bson.ObjectId undefined 的问题应该使用 primitive.ObjectID 就可以了/* user */type User struct { Id primitive.ObjectID `bson:"_id"` Username...原创 2019-03-27 17:01:57 · 1803 阅读 · 0 评论 -
GF(Go Frame)开发框架
GF(Go Frame)是一款模块化、松耦合、生产级的Go应用开发框架。提供了常用的核心开发组件,如:缓存、日志、文件、时间、队列、数组、集合、字符串、定时器、命令行、文件锁、内存锁、对象池、连接池、数据校验、数据编码、文件监控、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信、 并发安全容器等等。并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、路由...原创 2019-04-10 14:07:11 · 2450 阅读 · 0 评论 -
go gin 使用jwt 鉴权
本博客代码已发布在github:https://github.com/Huochengyan/myGoProject第一步: 服务器生成Token package apiimport ( "github.com/astaxie/beego/validation" "github.com/gin-gonic/gin" "log" "myProject/corll" ...原创 2019-06-28 15:35:49 · 2992 阅读 · 0 评论 -
go 使用队列
import ( "container/list") 定义: var Payqueue= list.New()入对:Payqueue.PushBack(*paylog) // 入对出对:controllers.Payqueue.Remove(controllers.Payqueue.Front()))...原创 2019-04-08 14:39:45 · 660 阅读 · 0 评论 -
go语言string、int、int64互相转换以及时间转换
go语言string、int、int64互相转换以及时间转换[html]view plaincopy#string到int int,err:=strconv.Atoi(string) #string到int64 int64,err:=strconv.ParseInt(string,10,64) #int到string s...原创 2019-04-24 11:30:44 · 854 阅读 · 0 评论 -
golang 查询
/* 获取 */func (m User) Getuser(g *gin.Context) { rsp := new(r.Rsp) findfilter := bson.D{} cur, err := m.Mgo.Collection(mongodb.User).Find(context.Background(), findfilter) users := make([]models....原创 2019-05-28 17:02:32 · 689 阅读 · 0 评论 -
go 科学计数法 大数值转string 串 求和等等
最近区块链中的数值超大 会自动转换成字符串看着好别扭,go官方也没有较好的库通过查找在git上找到了库:引用导入 go get github.com/shopspring/decimal代码:import ( "fmt" "github.com/labstack/gommon/log" "github.com/shopspring/decimal" "str...原创 2019-06-05 19:08:53 · 1706 阅读 · 0 评论 -
go 2. 记录一次恶心使用 $or golang mongo
直接代码:想实现类似sql where nickname="张三" sex=1or sex=2 的效果。mongo官方的例子使用一直报错。查资料呗。终于找到,这里记录下。filter=bson.D{{"nickname","张三"},{"$or",[]interface{}{bson.D{{"sex",1}},bson.D{{"sex",2}}}}}...原创 2019-06-12 16:20:23 · 1981 阅读 · 3 评论 -
golang $or $in $ge $gte 查询使用
1. 范围查询: 类似sql: between and ... ( 30<x<40 ) 举例: filter := bson.D{{"cid", cid}, {"height", bson.M{"$gte": startheight, "$lt": endheight}}}2.包含查询: 类似sql: where id in(........原创 2019-06-27 16:20:14 · 2479 阅读 · 0 评论 -
golang 分页获取mongodb数据
分页查询:/* 分页获取用户 */func (c *UserC) GetALLUserByPage(g *gin.Context) { rsp := new(Rsp) var info PostParamTx err := g.BindJSON(&info) if err != nil { rsp.Msg = "json faild" rsp.Code = 201...原创 2019-06-28 15:25:44 · 4066 阅读 · 0 评论 -
如何使用go搭建web服务器?
package mainimport ( "fmt" "net/http" "strings" "log")func sayhelloName(w http.ResponseWriter, r *http.Request) { fmt.Println(r.Method) r.ParseForm() //解析参数,默认是不会解析的 fmt.Println(r.Form) ...原创 2019-03-21 20:42:29 · 807 阅读 · 0 评论