golang进阶

# golang八股文 - [进程、线程、协程](#进程-线程-协程) - [垃圾回收](#垃圾回收) - [三色标记法](#三色标记法) - [GC的触发条件](#gc的触发条件) - [GC调优](#gc调优) - [GMP调度和CSP模型](#gmp调度和csp模型) - [CSP 模型](#csp-模型) - [GMP 调度模型](#gmp-调度模型) - [Goroutine 的

Wails开发桌面GUI

# Wails开发桌面GUI **开发wails的时候尽可能把它想象成开发vue的场景** `go install github.com/wailsapp/wails/v2/cmd/wails@latest` 安装 `wails init -n myapp -t vue` 创建一个vue的项目 `cd myapp` 进入这个myapp .项目初始结构 ``` ├── build //项目构建目录 │ ├── app

go fyne GUI框架

# go fyne GUI框架 ## 添加fyne GUI框架 `go get fyne.io/fyne/v2@latest` #后面变量是最新版 创建main.go文件: ```go package main // 主程序包 import ( "fyne.io/fyne/v2/app" // 导入Fyne应用包 "fyne.io/fyne/v2/widget" // 导入Fyne部件包 ) func main

一个fyne的简易Markdown代码

# 一个fyne的简易Markdown代码 ```go package main // 主程序包 import ( "io" "os" "fyne.io/fyne/v2" "fyne.io/fyne/v2/app" // 导入Fyne应用包 "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/storage" "fyne.io/fy

命令行程序示范

# 命令行程序示范 ```go package main import ( "fmt" ) func main() { var input string for { fmt.Print("请输入文本并按回车键:") _, err := fmt.Scanln(&input) if err != nil { fmt.Println("发生错误:", err) return } fmt.Prin

go-redis数据库操作

# go-redis数据库操作 ```go package models import ( "github.com/redis/go-redis/v9" "context" ) var RDB0 = Redis_init() //调用常量RDB0 func Redis_init() *redis.Client { client := redis.NewClient(&redis.Options{ Addr

swagger-API文档生成器

# swagger-API文档生成器 `go install github.com/swaggo/swag/cmd/swag@latest` 安装swagger命令 安装gin-swagger `go get -u github.com/swaggo/gin-swagger` `go get -u github.com/swaggo/files` ```go import ( "github.com/gin-gonic/gin"

session状态管理,登录注销

# session状态管理,登录注销 `go get -u github.com/gin-contrib/sessions` ### 初始化 ```go import ( "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/cookie" //训责cookie为存储 ) r := gin.Default() // 设置c

gin模板

# gin模板 ### 缺点 - 模板引擎不具备运算功能 - 模板不能继承方法,只能使用导入 - 没有比较符,只有比较函数,参考下面的比较函数 - ### 多个页面的方法: 顶部header.html: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=d

生成sitemap.xml示范demo

# 生成sitemap.xml示范demo ```go package services import ( "encoding/xml" "fmt" "log" "os" "github.com/gin-gonic/gin" "time" model "btcinfo/models" "context" "math" //向上取整需要 "go.mongodb.org/mongo-driver/bson" ) /

MongoDB数据读写查

# MongoDB数据读写查 ### mongodb和其他sql不同的地方: - mongodb的表单叫做Collection(集), - 它没有严格的字段类型限制,甚至没有字段限制,可以容纳不同字段名,类型,结构,的数据在一个集 - 它没有关系映射,任何数据之间的联系操作都要手动编写代码去完成 - 它的唯一键值ID为对象,如果要记录对象需转为字符串 - 任何要操作某条数据时,如果知道键值ID,需要先转为对象 ## 示范 model

gin+jwt验证,cookie

# gin+jwt验证,cookie ### cookie示范 ```go //设置cookie //字段名,内容,有效期(秒),生效路径,有效域,仅https,仅HTTP访问Cookie(js无法访问) c.SetCookie("token", tokenString, 680400, "/", "127.0.0.1", false, true) //读取cookie tokenString, _ := c.Cookie("tok