合集-Go

摘要:Go语言(Golang)编写最简单的命令行工具最简单的命令行工具 项目预览 >echo abc 123 --name=nick abc 123 --name=nick 课程概述 如何制作命令行应用 如何使用 os.Args 获得命令行参数 前提条件 懂得 Go 语言基本语法 知识点 OS 包提供了用于处理操作系统相关内容的函数/值 独立于平台的 阅读全文
posted @ 2023-05-07 22:41 寻月隐君 阅读(217) 评论(0) 推荐(0)
摘要:Go 语言编写 TCP 扫描器 TCP TCP,也就是传输控制协议(Transmission Control Protocol)。 TCP握手 建立 TCP连接(或者叫打开端口),需要3次握手 客户端 -> 端口打开 ->服务器 syn (请求建立新连接) syn-ack (同意创建新连接) ack 阅读全文
posted @ 2023-05-09 09:22 寻月隐君 阅读(451) 评论(0) 推荐(0)
摘要:Go 数据库编程 一、连接数据库 准备连接到数据库 要想连接到 SQL 数据库,首先需要加载目标数据库的驱动,驱动里面包含着于该数据库交互的逻辑。 sql.Open() 数据库驱动的名称 数据源名称 得到一个指向 sql.DB 这个 struct 的指针 sql.DB 是用来操作数据库的,它代表了0 阅读全文
posted @ 2023-05-11 10:29 寻月隐君 阅读(494) 评论(0) 推荐(0)
摘要:# Go 语言 - 自定义 log ```bash Code/go/go_log_demo via 🐹 v1.20.3 via 🅒 base ➜ tree . ├── errors.log ├── go.mod └── main.go 1 directory, 3 files Code/go/g 阅读全文
posted @ 2023-05-26 14:28 寻月隐君 阅读(93) 评论(0) 推荐(0)
摘要:基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64 其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。 类型 描 阅读全文
posted @ 2022-04-10 21:59 寻月隐君 阅读(530) 评论(0) 推荐(0)
摘要:# Go 语言如何配置 log ## 一、日志三大类 ### 创建项目并初始化用vscode 打开 ```bash ~/Code/go via 🐹 v1.20.3 via 🅒 base ➜ mcd demo Code/go/demo via 🐹 v1.20.3 via 🅒 base ➜ go 阅读全文
posted @ 2023-06-04 22:53 寻月隐君 阅读(79) 评论(0) 推荐(0)
摘要:# 算法 in Golang:D & C(分而治之) ### D & C 算法(策略) - Divide & Conquer - 属于递归算法的一种 - 其实它更像是一种思路、策略 ### 递归 - 递归 Recursion - 基线条件 Base Case - 递归条件 Recursive Cas 阅读全文
posted @ 2023-06-04 23:25 寻月隐君 阅读(60) 评论(0) 推荐(0)
摘要:# 算法 in Go:Binary Search(二分查找) ## Binary Search(二分查找) ### Binary Search(二分查找) - 猜数 - 1、2、3、4、5、6、7、8 - 排好序一个集合,先从中间开始猜,根据提示就可以排除一半,在剩余的一半里,再从中间开始猜,依此类 阅读全文
posted @ 2023-06-05 22:46 寻月隐君 阅读(140) 评论(0) 推荐(0)
摘要:# 算法 in Golang:Selection sort(选择排序) ## Selection Sort(选择排序) 假设有一个数组,它里面有6个元素,它的顺序是乱的,现在我们想对这个数组进行排序,就是从小到大进行排序。 选择排序是挨个遍历元素,把最小的放在最前面,再把剩余的遍历,把最小的放在后面 阅读全文
posted @ 2023-06-05 23:55 寻月隐君 阅读(58) 评论(0) 推荐(0)
摘要:# 算法 in Golang:Recursion(递归) ## 递归算法 ### 场景:在套娃中找到宝石 ### 可以这样做 - while 没找到: - if 当前项 is 宝石: - return 宝石 - else if 当前项 is 套娃: - 打开这个套娃 - if 当前项 is 宝石: 阅读全文
posted @ 2023-06-06 18:42 寻月隐君 阅读(126) 评论(0) 推荐(0)
摘要:# 算法 in Golang:Quicksort(快速排序) ## Quicksort(快速排序) - 快速排序 O(nlog2^n),比选择排序要快 O(n²) - 在日常生活中经常使用 - 使用了 D & C 策略(分而治之) ## 使用 Quicksort 排序数组 - 不需要排序的数组(也就 阅读全文
posted @ 2023-06-06 22:05 寻月隐君 阅读(202) 评论(0) 推荐(0)
摘要:# 算法 in Golang:Breadth-first search # (BFS、广度优先搜索) ## 最短路径问题 Shortest-path problem - 从 A 到 F 点有多条路径 ## 解决问题的算法 Breadth-first Search(广度优先搜索) 1. 将问题建模为图 阅读全文
posted @ 2023-06-06 23:57 寻月隐君 阅读(146) 评论(0) 推荐(0)
摘要:# 数据结构 in Golang:Hash Tables(哈希表) ### 场景 - 水果店的价格表: - 苹果 Apple:3元 - 香蕉 Banana:4元 - 桃子 Peach:2元 - 梨 Pear:3元 - 找到一种水果的价格: - 可以使用 binary search,通过名称来查找,耗 阅读全文
posted @ 2023-06-07 22:39 寻月隐君 阅读(160) 评论(0) 推荐(0)
摘要:# Go语言之gin框架源码学习 ## gin 框架路由注册与路由匹配、中间件 ```go package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) func func1(c *gin.Context) { fmt.Pri 阅读全文
posted @ 2023-06-10 18:40 寻月隐君 阅读(199) 评论(0) 推荐(0)
摘要:title: "Go 语言连接数据库实现增删改查" date: 2023-06-10T18:55:16+08:00 draft: true tags: ["Go"] categories: ["Go"] # Go 连接 MySQL实现增删改查 ## 一、初始化连接 ### 创建项目 ![](http 阅读全文
posted @ 2023-06-11 15:04 寻月隐君 阅读(315) 评论(0) 推荐(0)
摘要:# Go 连接 MySQL之 MySQL 预处理 ## 一、ChatGPT 关于 MySQL 预处理 的回答 ### 问:什么是MySQL 的预处理 具体执行过程时什么 #### ChatGPT 答: MySQL的预处理是一种在执行SQL语句之前,先进行编译和优化的机制。它将SQL语句分成两个阶段: 阅读全文
posted @ 2023-06-11 17:42 寻月隐君 阅读(380) 评论(0) 推荐(0)
摘要:# Go 实现 MySQL 数据库事务 ## 一、MySQL事务 MySQL事务是指一组数据库操作,它们被视为一个逻辑单元,并且要么全部成功执行,要么全部回滚(撤销)。事务是数据库管理系统提供的一种机制,用于确保数据的一致性和完整性。 事务具有以下特性(通常由ACID原则定义): 1. 原子性(At 阅读全文
posted @ 2023-06-11 20:09 寻月隐君 阅读(543) 评论(0) 推荐(0)
摘要:# Go 语言之 sqlx 库使用 ## 一、sqlx 库安装与连接 ### sqlx 介绍 sqlx is a library which provides a set of extensions on go's standard `database/sql` library. The sqlx 阅读全文
posted @ 2023-06-13 14:51 寻月隐君 阅读(362) 评论(0) 推荐(0)
摘要:# Go 语言之 SQLX 高级操作 sqlx.In ## sqlx.In 介绍 `sqlx` is a package for Go which provides a set of extensions on top of the excellent built-in `database/sql` 阅读全文
posted @ 2023-06-14 17:55 寻月隐君 阅读(387) 评论(0) 推荐(0)
摘要:# Go语言之 go-redis 基本使用 ## Redis 介绍 [Redis](https://redis.io/): [Redis 中文网](https://www.redis.net.cn/): REmote DIctionary Server(Redis) 是一个由Salvatore Sa 阅读全文
posted @ 2023-06-16 12:58 寻月隐君 阅读(862) 评论(0) 推荐(0)
摘要:# Go Redis 管道和事务之 go-redis ## [Go Redis 管道和事务官方文档介绍](https://redis.uptrace.dev/zh/guide/go-redis-pipelines.html) Redis pipelines(管道) 允许一次性发送多个命令来提高性能, 阅读全文
posted @ 2023-06-16 18:09 寻月隐君 阅读(850) 评论(0) 推荐(0)
摘要:# Go 语言之 zap 日志库简单使用 ## 默认的 Go log log:https://pkg.go.dev/log ```go package main import ( "log" "os" ) func init() { log.SetPrefix("LOG: ") // 设置前缀 f, 阅读全文
posted @ 2023-06-17 10:57 寻月隐君 阅读(230) 评论(0) 推荐(0)
摘要:# Go 语言之自定义 zap 日志 [zap 日志](https://github.com/uber-go/zap):https://github.com/uber-go/zap ## 一、日志写入文件 - `zap.NewProduction`、`zap.NewDevelopment` 是预设配 阅读全文
posted @ 2023-06-17 14:25 寻月隐君 阅读(519) 评论(0) 推荐(0)
摘要:# Go 语言之在 gin 框架中使用 zap 日志库 ### gin 框架默认使用的是自带的日志 #### `gin.Default()`的源码 Logger(), Recovery() ```go func Default() *Engine { debugPrintWARNINGDefault 阅读全文
posted @ 2023-06-17 18:11 寻月隐君 阅读(870) 评论(0) 推荐(0)
摘要:# Go 语言之 Viper 的使用 ## Viper 介绍 [Viper](https://github.com/spf13/viper): ### 安装 ```bash go get github.com/spf13/viper ``` ### Viper 是什么? Viper 是一个针对 Go 阅读全文
posted @ 2023-06-18 15:29 寻月隐君 阅读(878) 评论(0) 推荐(0)
摘要:# Go 语言之 Shutdown 关机和fvbock/endless 重启 Shutdown 源码 ```go // Shutdown gracefully shuts down the server without interrupting any // active connections. 阅读全文
posted @ 2023-06-18 19:28 寻月隐君 阅读(346) 评论(0) 推荐(0)
摘要:# RUST 和 GO 如何管理它们的内存 ## Go 中的内存管理 Go 中的内存不会在缓存键被驱逐时立即释放。 相反,垃圾收集器会经常运行以发现任何没有引用的内存并释放它。 换句话说,内存会一直挂起,直到垃圾收集器可以评估它是否真正不再使用,而不是在不再需要时立即释放。 Go 必须付出的努力来找 阅读全文
posted @ 2023-08-24 18:33 寻月隐君 阅读(214) 评论(0) 推荐(0)
摘要:Go语言基础数据类型详解:整型、浮点型、复数与字符串Go语言基础数据类型详解:整型、浮点型、复数与字符串 Go语言作为一门静态强类型的语言,其数据类型设计简洁而高效。掌握Go的基本数据类型是每个开发者深入理解Go语言的基础。本篇文章将详细介绍Go语言中最常见的基本数据类型,包括整型、浮点型、复数、布尔型、字符串等,并结合实例代码演示如何在Go中使用这 阅读全文
posted @ 2024-12-25 15:31 寻月隐君 阅读(338) 评论(0) 推荐(0)
摘要:实战:Go语言项目之使用JWT实现用户认证实战:Go语言项目之使用JWT实现用户认证 基于cookie-Session 和基于token的认证模式 需求:请求分类 用户认证 HTTP 是一个无状态的协议,一次请求结束后,下次再发送,服务器就不知道这个请求是谁发过来的(同一个 IP 不代表同一个用户),在Web 应用中,用户的认证和鉴权是非常 阅读全文
posted @ 2024-12-25 16:54 寻月隐君 阅读(795) 评论(0) 推荐(1)