上下文 上下context go

GO框架 - gin简介

Gin 是一个用 Go (Golang) 编写的 web 框架。它是一个类似于 martini 但拥有更好性能的 API 框架, 由于 httprouter,速度提高了近 40 倍。如果你是性能和高效的追求者, 你会爱上 Gin. 快速:基于 Radix 树的路由,小内存占用。没有反射。可预测的 A ......
框架 简介 gin

GO框架 - beego简介

bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。 简单化:RESTful 支持、MVC 模型,可以使用 bee 工具快速地开发应用,包括监控代码修改进行热编译、自动化测试代码以及自动化打包部署。 ......
框架 简介 beego

GO框架 - iris简介

专注于高性能 简单流畅的API 高扩展性 强大的路由和中间件生态系统 使用iris独特的表达主义路径解释器构建RESTful API 动态路径参数化或通配符路由与静态路由不冲突 使用重定向选项从URL中删除尾部斜杠 使用虚拟主机和子域名变得容易 分组API和静态或甚至动态子域名 net / http ......
框架 简介 iris

Go 语言进行依赖包的管理的几种方式

Go 语言具有丰富的开源包管理工具,可以方便地进行依赖包的管理。下面介绍如何在 Go 语言中安装依赖包。 使用 go get 命令 go get 命令可以从远程代码仓库(比如 GitHub)下载 Go 语言包,并安装到 $GOPATH/src 目录下。通常使用以下命令来安装一个依赖包: go get ......
语言 方式 Go

go测试用例编写规则

1. 测试用例编写规则 1. 测试用例文件必须以_test结尾 例如: util_test.go 2. 功能测试用例必须以Test开头 3. 模糊测试用例方法Fuzz开头 4. 基准测试用例方法Benchmark开头 5. 文件夹_test结尾的测试包,会被编译成分离包 ......
规则

1 请求上下文分析(源码:request原理)、2 wtforms(了解)

1 请求上下文分析(源码:request原理) 1.1 导出项目的依赖 # 之前 pip freeze >requirments.txt 把当前解释器环境下的所有第三方依赖都导出来 # 使用第三方模块,更精确的导出依赖 pipreqs 第一步:安装 pip3 install pipreqs 第二步: ......
上下文 源码 上下 原理 request

Go语言中函数和方法的区别

在 Go 语言中,函数和方法都是用于封装可执行代码的结构。它们之间的区别在于函数是独立的,而方法则需要依赖于类型(或结构体)来调用。 具体来说,函数是独立的可执行代码块,可以在任何地方定义和调用,可以接受参数和返回值。它们通常不依赖于特定的类型或数据。下面是一个示例函数的定义: func greet ......
函数 语言 方法

Go 语言中defer 关键字的用法

在 Go 语言中,defer 关键字用于指定一个函数或方法在执行完毕后需要延迟执行,通常用于释放资源或清理操作。可以将 defer 语句放置在函数或方法中的任何位置,它会在函数或方法退出时按后进先出(LIFO)的顺序执行。 defer 语句的作用与 finally 语句类似,但是它有一些独特的特性。 ......
关键字 关键 语言 defer Go

go语言发送请求后接收到json如何提取其中指定参数

由于用过python的缘故,一开始想着直接取后来发现并不行,于是上网查找资料发现需要定义结构体绑定参数,后来定义完结构体后发现并没有解决问题,而且过程较为繁琐,于是想着先将接收到的数据转为字符串 body, _ := io.ReadAll(response.Body) fmt.Println(str ......
参数 语言 json

Kubegres 源码解析(三) 从 main.go 到 Spec 默认值填充

main.go Kubegres 使用 Kubebuilder V3 创建, 所以直接进行到 main.go. func main() { ... if err = (&controllers.KubegresReconciler{ Client: mgr.GetClient(), Logger: ......
源码 Kubegres main Spec go

之前练手使用基于gin的go web项目

目录结构: `-- demo |-- cmd | |-- api.go | `-- root.go |-- common | `-- consts | `-- consts.go |-- config | `-- viper.go |-- config.toml |-- go.mod |-- go. ......
项目 gin web

【过滤器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

过滤器模式(Filter Pattern)或标准模式(Criteria Pattern),是一种结构型模式。这种模式允许使用不同的标准条件来过滤一组对象,并通过逻辑运算的方式把各条件连接起来,它结合多个标准来获得单一标准。 例子将创建一个 Person 对象、Criteria 接口和实现了该接口的实... ......
设计模式 过滤器 语言 模式 Python

(转)go语言web开发22 - beego框架之logs包使用

原文:https://www.cnblogs.com/hei-ma/articles/13791609.html beego框架的logs包是一个用来处理日志的库,目前支持的引擎有 file(输出日志到文件)、console(终端输出)、net(输出到网络地址)、smtp(发送邮件)。 一、beeg ......
框架 语言 beego logs web

go

一、go类型 1.布尔型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。 2.数字类型 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。 3.字符串类型: 字符串就是 ......
go

go接口的定义 以及空接口

前言: 接口只有方法,并且方法里没有方法体,没有变量 接口中每个方法都要被一个类型实现,那么该类型就实现了该接口 接口定义了某个类型(对象)必须具备的功能,接口里面的方法是该类型最基本的功能,所以需要都实现。 那么实现接口后,直接实例化对象调用接口即可。 正文: 接口命名: 接口类型名,命名时一般在 ......
接口

go数组,切片,指针,map的声明

数组定义: 固定长度,只能有一种数据类型 数组必须指定长度,或使用...通过编译器自动识别长度 数组定义形式: 1、 var users [3]string users = [3]string{"liudehua", "guofucheng", "liming"} 2、 var users = [3 ......
数组 指针 map

go time 包的使用

定义时间模板: const TimeTem = "2006-01-02 15:04:05" //Format里必须用“2006-01-02 15:04:05” 表示24小时时间制显示时间 //Format里必须用“2006-01-02 03:04:05” 表示12小时时间制显示时间 //打印当前时间 ......
time go

如何在ubuntu22下安装docker版的golang来编译go语言写的代码

为了让我们的ubuntu22系统更干净清爽我们使用docker 首先使用snap install docker安装docker后即可使用docker了 docker命令的使用方法1:将你的代码下载到用户目录(~)下面(例如~/github/xixi/...)2:使用cd命令进到你代码需要运行go b ......
语言 代码 ubuntu docker golang

【拓展】Go语言基础加强

1、深浅拷贝 浅拷贝:仅仅拷贝的是变量的值,没有对指向的空间进行任何的拷贝。 深拷贝:将原有的变量的空间地址全部拷贝一份。 在 Go 语言中,变量的赋值操作默认是浅拷贝,即两个变量指向同一个内存地址。这意味着,如果修改其中一个变量的值,另一个变量的值也会发生变化。 对于复杂数据类型,如结构体和切片, ......
语言基础 语言 基础

Go语言入门4(切片)

切片 ​ Go语言切片是一种建立在数组类型之上的抽象,它构建在数组之上并且提供更强大的能力和便捷。解决了数组长度不可变等缺陷 声明切片 ​ 切片的数据结构非常小,只有三个字段:指向底层数组的指针,切片长度,切片容量。切片长度是指切片的真实长度,切片容量是指切片可扩展的最大长度,一般来讲切片长度要小于 ......
语言

Go语言入门3(数组)

数组 ​ 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列(这是一种同构的数据结构);这种类型可以是任意的原始类型例如整形、字符串或者自定义类型(结构体、接口)。数组长度也是数组类型的一部分,所以[5]int和[10]int是属于不同类型的。 :star::在其他语言中数组大多是引用类型,但 ......
数组 语言

一道关于 len 函数的诡异 Go 面试题解析

package main func main() { var x *struct { s [][32]byte } println(len(x.s[99])) } 答题结果如下: 正确率只有 16%。 本文就讲解下为什么结果是 32。 01 解析题目 先剖析下这段代码,x 变量: var x *st ......
函数 一道 len Go

go run、build、install、get的原理和区别

学习go也有好些年头了,都没怎么研究过go的编译命令。真是惭愧。今天学习并记录下 结论: go run 专门用来运行命令源码文件的命令,一般用来运行单个文件 go build 主要是用于测试编译。编译某个包或者项目,在当前目录下生成可执行文件 go install 编译并安装代码包或者源码文件的。 ......
原理 install build get run

05-Go方法、接口、泛型

1 方法 //方法 1.是特殊的函数,可以自动传值 > 对象(go中就是结构体)来调用,自动把对象(当前结构体的实例)传过来 2.在func关键字 和 方法名 中间加入了一个特殊的接收器类型 接收器可以是结构体类型或者是非结构体类型 接收器是可以在方法的内部访问的 3.方法是绑定给结构体的 > 如何 ......
接口 方法 05 Go

「刷起来」Go必看的进阶面试题详解

勤学如春起之苗,不见其增日有所长;辍学如磨刀之石,不见其损日有所亏。 本文的重点:逃逸分析、延迟语句、散列表、通道、接口。 1.逃逸分析 逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。 问题描述: 有如下 ......

【装饰器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 装饰器模式(Decorator Pattern)是一种结构型设计模式。将对象放入到一个特殊封装的对象中,为这个对象绑定新的行为,具备新的能力,同时又不改变其原有结构。 如果你希望在无需修改代码的情况下即可使用对象,且希望在运行时为对象新增额外的行为,可以使用装饰模式。或者你用继承来扩展对象行为 ......
设计模式 语言 模式 Python Java

go--时间日期相关

1、获取当天零点的时间戳 //当天0点的时间戳 //获取当前时间 t := time.Now() nowTime := time.Date(t.Year(), t.Month(), t.Day(), 0, 0, 0, 0, t.Location()) //转换为时间戳格式 timeSamp := n ......
日期 时间 go

GO基础:02 Golang 基础简介

一、标识符 标识符是指定义的具有特殊意义的词,例如变量、常量、函数名等等,任何一门语言中都对自己的标识符有特殊定义的规则。在 Go 语言中,标识符由字母数字和下划线组成,并且只能以字母和下划线开头,例如: 数字、字母和下划线组成:123、abc _ 只能以字母和下划线开头:abc123、_sysVa ......
基础 简介 Golang

GO基础 - 01 Hello,Golang

一、开发环境搭建 1. 下载 SDK 1 // Go官网下载地址 2 https://golang.org/dl/ 3 ​ 4 // Go官方镜像站(推荐) 5 https://golang.google.cn/dl/ 2. 安装 由于Go语言是一门跨平台的编译型语言,我们只需要在一个平台下进行开发 ......
基础 Golang Hello 01

GO基础:03 Golang 基本数据类型

一、整型 1. 整型介绍 Go 语言中,整型可以分为以下几类: 类型描述 uint8 无符号 8位整型 (0 到 255) uint16 无符号 16位整型 (0 到 65535) uint32 无符号 32位整型 (0 到 4294967295) uint64 无符号 64位整型 (0 到 184 ......
类型 基础 数据 Golang