sort go

go map

数据结构 type hmap struct { count int // 键值对的个数 flags uint8 B uint8 // 桶的个数(2的B次方个) noverflow uint16 // 使用的溢出桶数量 hash0 uint32 // 哈希种子 buckets unsafe.Point ......
map go

go html template

前言: 在一些前后端不分离的Web架构中,我们通常需要在后端将一些数据渲染到HTML文档中,从而实现动态的网页(网页的布局和样式大致一样,但展示的内容并不一样)效果。 正文: 模板文件通常定义为.tmpl和.tpl为后缀(也可以使用其他的后缀.html,.htm) 模板文件中使用{{和}}包裹和标识 ......
template html go

go cookie && session

前言: HTTP 协议是无状态的,所以用户的每一次请求都是无状态的, 不知道在整个 Web 操作过程中哪些连接与该用户有关。 应该如何来解决这个问题呢? Web 里面经典的解决方案是 Cookie 和 Session。 正文: cookie 机制是一种客户端机制,把用户数据保存在客户端, 而 Ses ......
amp session cookie go

go net/http包的使用

前言: Go语言标准库内建提供了net/http包,涵盖了HTTP客户端和服务端的具体实现。 使用net/http包,我们可以很方便地编写HTTP客户端或服务端的程序。 正文: 包的文档地址:https://go-zh.org/pkg/net/http net/http 包 使用说明: 注册路由 h ......
http net go

(转)go深入:reflect 运行时反射

原文:https://lingzihuan.icu/posts/go-13-depth-reflect/ 啥是反射 go语言中,反射为我们提供了一种可以在运行时操作任意类型对象的能力,比如,查看一个接口变量的具体类型、看一个结构体有多少字段、修改某个字段的值等。 比如 fmt.Println: fu ......
reflect

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结尾的测试包,会被编译成分离包 ......
规则

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

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

Go 语言中defer 关键字的用法

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

C - Almost Sorted

https://atcoder.jp/contests/arc132/tasks/arc132_c 很难想到的动态规划,优化空间的思路非常巧妙 用相对位置来转移 f[i][j]表示i之前,放置数字的压缩情况为j,的所有方案数 ** f[i+1][(j | (1 << k)) >> 1] += f[i ......
Almost Sorted

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

cpp: sort Algorithmic

// TenSortAlgorithms.h : 此文件包含 "TenSortAlgotrthms" 类。十个常用排序算法 C++ 14 // 2023年4月5日 涂聚文 Geovin Du edit. #ifndef TENSORTALGORITHMS_H #define TENSORTALGOR ......
Algorithmic sort cpp

cpp generate random array then sort by quick sort

#include <chrono> #include <ctime>#include <iomainp> #include <iostream> #include <random> #include <sstream> std::string get_time_now() { std::chrono ......
sort generate random array quick

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

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

sort,sorted,reverse,reversed的区别

python中sort,sorted,reverse,reversed的区别 简单的说以上四个内置函数都是排序。 对于sort和reverse都是list列表的内置函数,一般不传参数,没有返回值,会改变原列表的值。 而sorted和reversed是python内置函数,需要传参数,参数可以是字符串 ......
reversed reverse sorted sort

【拓展】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