go
文章平均质量分 52
issue是fw
19 years old, struggling in life, chasing daydreams.
展开
-
[Go关于反射] reflect包
参考自liwenzhouORM库要用到, 记录一下.文章目录reflect.TypeOf() 获取对象类型type name和type kindreflect.ValueOf()reflect.Value.Elem()获取指针对应的值并修改结构体反射reflect.TypeOf() 获取对象类型在Go语言中,使用reflect.TypeOf()函数可以获得任意值的类型对象(reflect.Type)程序通过类型对象可以访问任意值的类型信息。func reflectType(x interfa原创 2022-04-06 22:06:43 · 568 阅读 · 0 评论 -
[Go]记录一些常用的库
cron关于定时任务的一个库简介Linkgithub地址原创 2022-04-05 12:00:08 · 178 阅读 · 0 评论 -
Go的内存回收机制(三色屏障)
参考原文垃圾回收(Garbage Collection,简称GC)是编程语言中提供的自动的内存管理机制,自动释放不需要的内存对象,让出存储器资源。GC过程中无需程序员手动执行。GC机制在现代很多编程语言都支持,GC能力的性能与优劣也是不同语言之间对比度指标之一。Go V1.13之前的标记-清除(mark and sweep)算法一、暂停程序业务逻辑,分类出可达和不可达对象,然后做上标记二、清除所有未标记的对象整个操作非常简单,但是在mark and sweep算法执行时,程序必须暂停.即STW原创 2022-03-29 14:53:50 · 945 阅读 · 0 评论 -
[Go关于网络请求] net/http库
文章目录带参数的GET请求带参数的POST请求处理跨域,重定向,请求头等配置设置请求头字段设置重定向策略带参数的GET请求client端package mainimport ( "fmt" "io/ioutil" "net/http" "net/url")func main() { apiUrl := "http://127.0.0.1:8081/json" // data用于构建url的参数,url.Values{}底层是一个map data := url.Values{}原创 2022-03-25 21:24:42 · 1235 阅读 · 0 评论 -
[Go关于时间] time库/扩展now库
参考自liwenzhou文章目录Time库Time对象时区概念Unix Time时间间隔,加减法定时器格式化时间从字符串中解析时间jinzhu/now库优化time.ParseTime库Time对象Go语言中使用time.Time类表示时间可以由这个对象获取到年、月、日、时、分、秒等信息func timeDemo() { now := time.Now() // 获取当前时间 fmt.Printf("current time:%v\n", now) year := now.Year()原创 2022-03-24 16:18:07 · 708 阅读 · 0 评论 -
dockerfile部署goweb项目
样例部署的代码package mainimport ( "fmt" "net/http")func main() { http.HandleFunc("/", hello) server := &http.Server{ Addr: ":8888", } fmt.Println("server startup...") if err := server.ListenAndServe(); err != nil { fmt.Printf("server startu转载 2022-01-09 10:49:54 · 376 阅读 · 0 评论 -
leedcode刷题笔记
算法竞赛结束后好久不刷题了以后打算每天都写1-2题3. 无重复字符的最长子串func max(x,y int) int{ if x<y{ return y }else{ return x }}func lengthOfLongestSubstring(s string) int { mp := map[byte]int{} n := len(s) rk,ans := -1,0 for i:=0;i<原创 2022-01-01 21:25:28 · 411 阅读 · 0 评论 -
zap日志配置
转载自LINK目录默认的go loggerZap Logger测试把日志写入文件最终版本默认的go logger默认的log不支持日志分级,没有INFO,DEBUG,ERROR之分package mainimport ( "log" "net/http" "os")func initlog(){ logFileLocation, _ := os.OpenFile("./test.log", os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0744) //创建一个转载 2022-01-01 16:27:14 · 758 阅读 · 0 评论 -
sqlx库基本使用
目录连接数据库查询增删改NamedExecNamedQuery原生的数据库操作太过麻烦,sqlx简化了大量操作安装sqlx库go get github.com/jmoiron/sqlx连接数据库package mainimport ( _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx")var( db *sqlx.DB)func initDB() (err error) { dsn := "root:123原创 2021-12-31 11:38:16 · 493 阅读 · 0 评论 -
go操作数据库(原生版)
目录创建表查询查询单条数据查询多行数据增删改增加(插入)更新删除Go实现MySQL预处理连接数据库package mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql")var db *sql.DBfunc initMySql() (err error) { //初始化数据库函数 dsn := "root:123456@tcp(127.0.0.1:3306)/test" //用户名:密码@连接方式(ip转载 2021-12-31 10:04:33 · 382 阅读 · 0 评论 -
gin中间件
先看以下代码package mainimport ( "fmt" "github.com/gin-gonic/gin" "net/http")func first(c *gin.Context){ fmt.Println("first开始执行") c.Next() fmt.Println("first执行完毕")}func second(c *gin.Context){ fmt.Println("second开始执行") c.Next() fmt.Println("seco原创 2021-12-29 19:58:14 · 297 阅读 · 0 评论 -
gin上传文件
上传单个文件前端代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <form action="/upload" method="post" enctype="multipart/form-data"> <原创 2021-12-29 18:38:51 · 294 阅读 · 0 评论 -
gin接收参数和返回数据
目录返回JSON数据方式一方式二接收GET请求参数接收FORM表单参数获取url中的参数(restful风格)gin参数绑定返回JSON数据方式一用map作序列化package mainimport( "github.com/gin-gonic/gin")func main(){ r := gin.Default() r.GET("/json",func(c *gin.Context){ c.JSON(200,gin.H{ "name":"cl", "message":原创 2021-12-29 17:56:24 · 4080 阅读 · 0 评论