representing zones time go

centOS安装配置go1.18环境

今天在centOS系统宝塔面板下创建Go项目,打算安装Go环境。 Gin、Gorm中的一些新语言特性似乎要求go1.18及以上,因此我安装并记录下了以下配置过程。 卸载原有旧版本(没有则不做) sudo rm -rf /usr/local/go 下载go对应版本二进制包 wget https://s ......
环境 centOS go1 18 go

Go - benchstat

zzh@ZZHPC:/zdata/MyPrograms/Go/aaa/Ch06/06_02$ go test -run NONE -bench . -count=5 -benchmem | tee cols.txtgoos: linuxgoarch: amd64pkg: zzh/aaa/Ch06/0 ......
benchstat Go

Go 中普通指针、unsafe.Pointer 与 uintptr 之间的关系和指针运算

C 语言指针运算 指针运算就是对指针类型的变量做常规数学运算,例如加减操作,实现地址的偏移。指针运算在 C 语言中是原生支持的,可以直接在指针变量上做加减,例如: #include <stdio.h> const int MAX = 3; int main () { int var[] = {10, ......
指针 之间 Pointer uintptr unsafe

Go 中几种常见的编程模式

模式可以理解成最佳实践,或者是约定俗成的规范或套路,熟悉一些常见模式可以方便理解项目代码。本文是参考 ......
常见 模式 Go

Go Module Package Workspace 参考笔记

这篇笔记整理记录了在阅读 go 官方文档中对于依赖管理、包引入、多模块开发时的工作区等相关内容。 module path module path 可以唯一标识一个 module,也是定位一个 module 下的 package 时的前缀。 module path 应该可以表明该 module 是做什 ......
Workspace Package 笔记 Module Go

Go 语言中闭包与defer

匿名函数: 没有函数名的函数就是匿名函数 匿名函数的定义格式如下: func(参数)(返回值){ 函数体 } 基本使用: func main() { // 将匿名函数保存到变量 add := func(x, y int) { fmt.Println(x + y) } add(10, 20) // 通 ......
闭包 语言 defer Go

PGO in Go 1.21

原文在这里。 由 Michael Pratt 发布于 2023年9月5日 在2023年早些时候,Go 1.20发布了供用户测试的概要版本的基于性能分析的优化(PGO)。经过解决预览版已知的限制,并得益于社区反馈和贡献的进一步改进,Go 1.21中的PGO支持已经准备好供一般生产使用!请查阅性能分析优 ......
1.21 PGO Go 21 in

Go - ERROR: # command-line-arguments undefined

zzh@ZZHPC:/zdata/MyPrograms/Go/aaa/Ch05/05_04$ go run httpd.go# command-line-arguments./httpd.go:15:9: undefined: DB./httpd.go:58:16: undefined: NewDB ......

Go Struct

结构体(简称struct)用于创建不同数据类型的成员集合,放入一个单一的变量中。虽然数组用于将相同数据类型的多个值存储在单一变量中,但结构体用于将不同数据类型的多个值存储在单一变量中。结构体对于将数据组合在一起以创建记录非常有用。 声明结构体 要在Go中声明一个结构体,请使用type和struct关 ......
Struct Go

Go每日一库之2:go-flags

## 简介 在[上一篇文章](https://go-quiz.github.io/2020/01/07/godailylib/flag/)中,我们介绍了`flag`库。`flag`库是用于解析命令行选项的。但是`flag`有几个缺点: - 不显示支持短选项。当然上一篇文章中也提到过可以通过将两个选项 ......
go-flags flags go

GO 每日一库之1:flag

## 缘起 我一直在想,有什么方式可以让人比较轻易地保持每日学习,持续输出的状态。写博客是一种方式,但不是每天都有想写的,值得写的东西。 有时候一个技术比较复杂,写博客的时候经常会写着写着发现自己的理解有偏差,或者细节还没有完全掌握,要去查资料,了解了之后又继续写,如此反复。 这样会导致一篇博客的耗 ......
flag GO

Python 中各个框架的性能对比(Flask,tornado,fastAPI)对比 Go 的gin框架

使用jmeter进行压测: 配置如下: Flask 框架: Python代码: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __n ......
框架 性能 tornado fastAPI Python

Go语言中如何实现NoCopy

Go语言中没有NoCopy关键字,但可以通过实现`sync.Locker`接口来禁止某个类型的变量被拷贝。 `sync.Locker`接口定义了`Lock()`和`Unlock()`方法,这两个方法用于保护共享数据的互斥访问。如果一个类型实现了`sync.Locker`接口,则该类型的变量不能被拷贝 ......
语言 NoCopy

go os.arges用法

package mainimport ( "fmt" "io" "net/http" "os")// init 在 main 函数之前调用func init() { if len(os.Args) != 2 { fmt.Println("Usage: ./example2 <url>") os.E ......
arges go os

Go学习笔记3

# 九、错误处理 ## 1.defer+recover机制处理异常错误 展示错误: 发现:程序中出现错误/恐慌以后,程序被中断,无法继续执行。 **错误处理/捕获机制:** 内置函数recover: ## 2.自定义错误 需要调用errors包下的New函数:函数返回error类型 ## 3.pan ......
笔记

Go语言反单引号创建原始字符串raw_string

在 Go 语言中,反引号(`)用于创建原始字符串字面量(raw string literals)。原始字符串字面量是不包含转义序列的字符串,其中的内容会保持原样,包括换行符和特殊字符。 反引号的主要用途之一是编写多行的文本或正则表达式,而不需要使用转义字符。这在处理包含大量特殊字符或格式化要求的文本 ......
引号 字符串 raw_string 字符 语言

2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在某些任务中,这个字符通常表示“正确”的结果 另一方面,他不喜欢 B 字符,因为在某些任务中,这个字符

2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在某些任务中,这个字符通常表示“正确”的结果 另一方面,他不喜欢 B 字符,因为在某些任务中,这个字符通常表示“错误”的结果 为了解决他的任务,塔子哥定义了字符串的权值为字符串中 R 字符的出现次数 例 ......
字符 任务 字符串 另一方面 语言

go101自定义泛型翻译——First Look of Custom Generics(上)

## 初识自定义泛型 1. 在自定义泛型的世界中。可能会与被定义成泛型类型的类型,泛型函数的函数。此外泛型类型也是会被定义成类型的,所有它们也可能会有相应的方法。 2. 关于泛型类型,泛型函数以及相应的方法的定义都会包含一种称为类型参数列表的部分,这是与普通方法函数以及方法最大的不同之处。 ### ......
Generics Custom First Look 101

Go 函数

函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。 ### 创建函数 要创建(通常称为声明)一个函数,请执行以下操作: - 使用 `func` 关键字。 - 指定函数的名称,后跟括号 `()`。 - 最后,在花括号 `{}` 内添加定义函数应执行的代码。 ......
函数 Go

go并发编程系列七:使用goroutine写一个线程池

TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Tradi ......
线程 goroutine

Go如何使用 Context 控制并发

Go如何使用 Context 控制并发 原创 萧瑟 golang面试经典讲解 2023-06-30 20:00 发表于上海 收录于合集 #go语言25个 #go25个 ##go工具23个 #面试54个 关于context的面试题还是比较多,发现context控制并发这块的面试最近出现的频率非常高,所 ......
Context

go-spew最强大的调试工具

go-spew golang最强大的调试助手,没有之一 2017-06-091758 举报版权 nkbai +关注 简介: go内置的fmt.sprintf已经很强大了,但是和spew比起来还是相形见绌,这里来一个例子. import ( "fmt" "github.com/davecgh/go-s ......
go-spew 工具 spew go

Go语言中互斥锁的最佳实践

使用互斥锁是确保多个goroutine之间共享数据安全访问的一种常见方式。以下是互斥锁的最佳实践: 1. **仅在必要时使用互斥锁**:互斥锁的目的是保护共享资源,但不是所有变量都需要被互斥锁保护。只有在多个goroutine并发访问的数据结构或变量上使用互斥锁,以避免不必要的锁定。 2. **小范 ......
语言

使用GO 程序指定IP地址访问 http/https 地址 类似curl --resolve XXXIP:PortYYY

需求,使用GO 程序指定IP地址访问 http/https 地址 传入参数: ipAddr // ipv4地址 string值serviceUrl // url地址 string值hostContainPort // Host Header 是否带url的端口 bool值 返回值: response ......
地址 PortYYY resolve 程序 XXXIP

Go语言中的闭包

在 Go 语言中,匿名函数和闭包是两个相关但略有区别的概念: 1. **匿名函数**:如其名,是没有名字的函数。你可以将它赋值给变量或直接调用它。 ```go func() { fmt.Println("I'm an anonymous function!") }() ``` 2. **闭包**:是 ......
闭包 语言

Go添加自定义操作符<等符号?

不,Go 语言不支持自定义操作符或重载内置操作符的行为,与 C++ 的 `operator` 重载不同。Go 的设计者们故意避免了操作符重载以保持语言的简单性。 但是,你可以为你的自定义 `struct` 定义方法来实现类似的功能,只不过这些方法不会使用操作符的语法。 例如,假设你有一个 `Vect ......
操作符 符号 lt

Time Matters Sequential Recommendation with Complex Temporal Information

[TOC] > [Ye W., Wang S., Chen X., Wang X., Qin Z. and Yin D. Time Matters: Sequential recommendation with complex temporal information. SIGIR, 2020.]( ......

Go 语言内置类型全解析:从布尔到字符串的全维度探究

> 关注微信公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 > 本文深入探讨了 Go 语言的内 ......
维度 布尔 字符串 字符 语言

Go学习笔记2

复杂数据类型,运算符(算数、赋值、关系、逻辑、优先级),流程控制(if、switch、for、break、continue),函数(包,匿名函数,内置函数) ......
笔记

[LeetCode] 2594. Minimum Time to Repair Cars

You are given an integer array ranks representing the ranks of some mechanics. ranksi is the rank of the ith mechanic. A mechanic with a rank r can re ......
LeetCode Minimum Repair 2594 Cars