上下文 上下context go

go 笔记 init函数

来自:go init函数 1、golang里的main函数是程序的入口函数,olang还有另外一个特殊的函数init函数,先于main函数执行 init函数的主要作用: 初始化不能采用初始化表达式初始化的变量。 程序运行前的注册。 实现sync.Once功能。 其他 init函数的主要特点: ini ......
函数 笔记 init go

PaddleOCR之高性能Go语言实现OCR识别

最近为了让python语言能够直接调用PaddleOCR的C++的动态链接库,针对本人已经开源的PaddleOCR项目https://gitee.com/raoyutian/paddle-ocrsharp使用的PaddleOCR的C++动态库,进行了大量代码修改,修改后PaddleOCR,导出标准C ......
高性能 PaddleOCR 语言 OCR

Go Xorm简单使用

官网相关文档 https://xorm.io/zh/docs/chapter-01/1.engine/ https://gitea.com/xorm/xorm/src/branch/master/README_CN.md xorm 是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便 ......
Xorm Go

【责任链设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,也叫职责链模式、命令链模式。这种模式为请求创建了一个接收者对象的链,允许你将请求沿着处理者链进行发送,每个处理者均可对请求进行处理,或将其传递给链上的下个处理者。 当程序需要使用不同方式来处理多种 ......
设计模式 语言 模式 责任 Python

golang pprof 监控系列(1) —— go trace 统计原理与使用

golang pprof 监控系列(1) —— go trace 统计原理与使用 服务监控系列文章 服务监控系列视频 关于go tool trace的使用,网上有相当多的资料,但拿我之前初学golang的经验来讲,很多资料都没有把go tool trace中的相关指标究竟是统计的哪些方法,统计了哪段 ......
原理 golang pprof trace go

go

1、深拷贝(Deep Copy) 拷贝的是数据本身,创造一个样的新对象,新创建的对象与原对象不共享内存,新创建的对象在内存中开辟一个新的内存地址,新对象值修改时不会影响原对象值。既然内存地址不同,释放内存地址时,可分别释放。 值类型的数据,默认全部都是深复制,Array、Int、String、Str ......
go

GO实现Redis:GO实现内存数据库(3)

实现Redis的database层(核心层:处理命令并返回) https://github.com/csgopher/go-redis datastruct/dict/dict.go type Consumer func(key string, val interface{}) bool type ......
内存 数据库 数据 Redis

json go

package mainimport ( "encoding/json" "fmt")type b struct { Params []interface{} `json:"params,omitempty"`}func main() { v := []interface{}(nil) v = ap ......
json go

【入门】Go语言切片详解

一、Go语言切片介绍 1.1 什么是切片? 切片(slice)是对数组的一个连续片段的引用,所以切片是一个引用类型,这个片段可以是整个数组,也可以是由起始和终止索引标识的一些项的子集,需要注意的是,终止索引标识的项不包括在切片内。 1.2 数组和切片的区别是什么? 切片和数组密不可分,如果将数组理解 ......
语言

【go】go多种uuid生产方式

package main import ( "fmt" "github.com/chilts/sid" "github.com/kjk/betterguid" "github.com/oklog/ulid" "github.com/rs/xid" "github.com/satori/go.uuid ......
多种 方式 uuid

flask-上下文对象-手动开启上下文

1、请求上下文 request context 总结: 请求上下文: request:获取请求信息,比如表单参数、查询字符串等 session:操作用户会话信息,session['key']=value.session.get('key') 2、应用上下文 application context 总 ......
上下文 上下 手动 对象 flask

【go】uuid简介

通用唯一识别码(英语:universally unique identifier,简称uuid)是一种软件建构的标准,亦为自由软件基金会组织在分散式计算环境领域的一部份。uuid的目的,是让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以 ......
简介 uuid

z-index与层叠上下文

本文转自掘金文章:为什么我写的z-index无效?,作者小蝉儿 1. 首先总结一下,什么是CSS层叠上下文? 层叠上下文是HTML元素的三维概念,可以想象为一条垂直于视窗的z轴 当元素创建了重叠上下文时,这个元素就有了一个z轴 如果内部的子元素发生重叠,会依据自身属性优先级顺序占用z轴(重叠上下文) ......
上下文 上下 z-index index

【go】snowflake和snoyflake雪花算法学习与go实现

预备知识: Monotonic Clocks,即单调时间,所谓单调,就是只会不停的往前增长,不受校时操作的影响,这个时间是自进程启动以来的秒数 参考文章:https://www.simpleapples.com/2018/10/26/understand-time-struct-in-go/ 雪花算 ......
算法 雪花 snowflake snoyflake

[Go]string、int、int64相互转换

import "strconv" //先导入strconv包 // string到int int, err := strconv.Atoi(string) // string到int64 int64, err := strconv.ParseInt(string, 10, 64) // int到st ......
int string Go 64

开心档之Go 错误处理

Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型,这是它的定义: type error interface { Error() string } 我们可以在编码中通过实现 error 接口类型来生成错误信息。 函数通常在最后的返回值中返回错误信息。使用erro ......
错误

开心档之Go 语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 Go 语言按类别有以下几种数据类型: 序号类型和描述 1 布尔型 布尔型的值只可以是常量 true 或者 false。一个简单 ......
语言 类型 数据

开心档之Go 语言条件语句

条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。 下图展示了程序语言中条件语句的结构: Go 语言提供了以下几种条件判断语句: 语句描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 ......
语句 条件 语言

开心档之Go 语言环境安装

Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 各个系统对应的包名: 操作系统包名 ......
语言 环境

GO实现Redis:GO实现Redis协议解析器(2)

本文实现Redis的协议层,协议层负责解析指令,然后将指令交给核心database执行 echo database用来测试协议层的代码 https://github.com/csgopher/go-redis RESP协议 RESP是客户端与服务端通信的协议,格式有五种:正常回复:以“+”开头,以“ ......
Redis

使用go语言实现并发网络爬虫

go语言做爬虫也是很少尝试,首先我的思路是看一下爬虫的串行实现,然后通过两个并发实现:一个使用锁,另一个使用通道 这里不涉及从页面中提取URL的逻辑(请查看Go框架colly的内容)。网络抓取只是作为一个例子来考察Go的并发性。 我们想从我们的起始页中提取所有的URL,将这些URL保存到一个列表中, ......
爬虫 语言 网络

GO实现Redis:GO实现TCP服务器(1)

本文实现一个Echo TCP Server interface/tcp/Handler.go type Handler interface { Handle(ctx context.Context, conn net.Conn) Close() error } Handler:业务逻辑的处理接口 H ......
服务器 Redis TCP

Go语言并发编程(2):channel 通道介绍和使用

一、简介 channel 不仅可以用于 goroutine 间进行安全通信,还可以用于同步内存访问。 而且 Go 社区强烈推荐使用 channel 通道实现 goroutine 之间的通信, 不要通过共享内存来通信,而应该通过通信来共享内存。 Go 从语言层面保证了同一时间只有一个 goroutin ......
通道 channel 语言

Go语言并发编程(4):sync包介绍和使用(下)-Once,Pool,Cond

sync包下:Once,Pool,Cond 一、sync.Once 执行一次 Once 简介 sync.Once 是 Go 提供的让函数只执行一次的一种实现。 如果 once.Do(f) 被调用多次,只有第一次调用会调用 f。 常用场景: 用于单例模式,比如初始化数据库配置 Once 提供的方法: ......
语言 sync Once Cond Pool

Go语言并发编程(3):sync包介绍和使用(上)-Mutex,RWMutex,WaitGroup,sync.Map

一、sync 包简介 在并发编程中,为了解决竞争条件问题,Go 语言提供了 sync 标准包,它提供了基本的同步原语,例如互斥锁、读写锁等。 sync 包使用建议: 除了 Once 和 WaitGroup 类型之外,大多数类型旨在供低级库程序使用。更高级别的同步最好用 channel 通道和通信来完 ......
sync WaitGroup RWMutex 语言 Mutex

go各框架的log日志

1.kratosLog: type Logger interface { Log(level Level, keyvals ...interface{}) error } type logger struct { logger Logger prefix []interface{} hasValue ......
框架 日志 log

Go语言学习——gin的使用1

gin作为Go语言中非常受欢迎的一个web后端框架有着十分好的性能表现和易用性。下面记录一下学习使用gin完成一个最简单的服务器程序: package main //声明所属的包 import "github.com/gin-gonic/gin" //导入gin框架的包 func sayHello( ......
语言学习 语言 gin

Go语言 是如何调用 chatGpt openai api 接口的 ?

Go语言 是如何调用 chatGpt openai api 接口的 ? 学习与分享 Go语言圈 2023-03-23 08:30 发表于广东 收录于合集#学Go语言哪些事儿161个 用编码工具,建议用最新版Goland,因为这里有正式版激活账号 https://web.52shizhan.cn/ac ......
接口 chatGpt 语言 openai api

Go语言:利用 TDD 逐步为一个字典应用创建完整的 CRUD API

前言 在数组这一章节中,我们学会了如何按顺序存储值。现在,我们再来看看如何通过键存储值,并快速查找它们。 Maps 允许你以类似于字典的方式存储值。你可以将键视为单词,将值视为定义。 所以,难道还有比构建我们自己的字典更好的学习 map 的方式吗? 正文 首先编写测试 在 dictionary_te ......
字典 语言 CRUD TDD API

go 标准包flag的基本用法

相关用法见代码 flag.Type() # 通过 flag.Type() 返回对应类型的指针,姐应用后使用该值 package main import ( "flag" "fmt" "time" ) func main() { // 通过 flag.Type() 返回对应类型的指针,姐应用后使用该值 ......
标准 flag go