module go
Go类型全解:常量与变量大全!
本篇文章深入探讨了 Go 语言中类型确定值、类型不确定值以及对应类型转换的知识点,后续充分解析了常量与变量及其高级用法,并举出丰富的案例。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕, ......
Go学习笔记4
十三、对象 9.挎包创建结构体实例 【1】创建不同的包: 【2】student.go: 【3】main.go: 发现:如果结构体首字母大写的话,在其它包下可以访问 但是:如果结构体的首字母小写? 解决:结构体首字母小写,跨包访问没问题: 》工厂模式 10.封装 【1】什么是封装: 封装(encaps ......
centOS安装配置go1.18环境
今天在centOS系统宝塔面板下创建Go项目,打算安装Go环境。 Gin、Gorm中的一些新语言特性似乎要求go1.18及以上,因此我安装并记录下了以下配置过程。 卸载原有旧版本(没有则不做) sudo rm -rf /usr/local/go 下载go对应版本二进制包 wget https://s ......
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 ......
Go 中普通指针、unsafe.Pointer 与 uintptr 之间的关系和指针运算
C 语言指针运算 指针运算就是对指针类型的变量做常规数学运算,例如加减操作,实现地址的偏移。指针运算在 C 语言中是原生支持的,可以直接在指针变量上做加减,例如: #include <stdio.h> const int MAX = 3; int main () { int var[] = {10, ......
Go Module Package Workspace 参考笔记
这篇笔记整理记录了在阅读 go 官方文档中对于依赖管理、包引入、多模块开发时的工作区等相关内容。 module path module path 可以唯一标识一个 module,也是定位一个 module 下的 package 时的前缀。 module path 应该可以表明该 module 是做什 ......
Go 语言中闭包与defer
匿名函数: 没有函数名的函数就是匿名函数 匿名函数的定义格式如下: func(参数)(返回值){ 函数体 } 基本使用: func main() { // 将匿名函数保存到变量 add := func(x, y int) { fmt.Println(x + y) } add(10, 20) // 通 ......
2023-09-09 微信小程序之引入uni_modules过多插件导致主包体积过大如何解决 ==》hbuilderx--发行--小程序-微信(仅适用于uniapp)
前言:uni_modules里面的插件会全部打包在主包里,分包如果都是引用了uni_modules的插件,那么会导致包体积越来越大。 我的项目主要用到一些组件库,如uview,对这个库的依赖太严重了,加上是把2个小程序融合到一起,所以对这个库的依赖就会变得更多。 解决方案:你的小程序是用uniapp ......
PGO in Go 1.21
原文在这里。 由 Michael Pratt 发布于 2023年9月5日 在2023年早些时候,Go 1.20发布了供用户测试的概要版本的基于性能分析的优化(PGO)。经过解决预览版已知的限制,并得益于社区反馈和贡献的进一步改进,Go 1.21中的PGO支持已经准备好供一般生产使用!请查阅性能分析优 ......
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关 ......
ES6 Module模块,在vsCode中已服务器模式运行HTML文件
操作步骤如下: 一、安装Live Server 插件 二、点击扩展设置 三、设置live server默认打开浏览器为“chrome” 四、配置-工作区 五、在HTML文件中,右键选择"open with Live Server" 输出结果 ......
Go每日一库之2:go-flags
## 简介 在[上一篇文章](https://go-quiz.github.io/2020/01/07/godailylib/flag/)中,我们介绍了`flag`库。`flag`库是用于解析命令行选项的。但是`flag`有几个缺点: - 不显示支持短选项。当然上一篇文章中也提到过可以通过将两个选项 ......
GO 每日一库之1:flag
## 缘起 我一直在想,有什么方式可以让人比较轻易地保持每日学习,持续输出的状态。写博客是一种方式,但不是每天都有想写的,值得写的东西。 有时候一个技术比较复杂,写博客的时候经常会写着写着发现自己的理解有偏差,或者细节还没有完全掌握,要去查资料,了解了之后又继续写,如此反复。 这样会导致一篇博客的耗 ......
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 ......
Go语言中如何实现NoCopy
Go语言中没有NoCopy关键字,但可以通过实现`sync.Locker`接口来禁止某个类型的变量被拷贝。 `sync.Locker`接口定义了`Lock()`和`Unlock()`方法,这两个方法用于保护共享数据的互斥访问。如果一个类型实现了`sync.Locker`接口,则该类型的变量不能被拷贝 ......
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 ......
Go学习笔记3
# 九、错误处理 ## 1.defer+recover机制处理异常错误 展示错误: 发现:程序中出现错误/恐慌以后,程序被中断,无法继续执行。 **错误处理/捕获机制:** 内置函数recover: ## 2.自定义错误 需要调用errors包下的New函数:函数返回error类型 ## 3.pan ......
Go语言反单引号创建原始字符串raw_string
在 Go 语言中,反引号(`)用于创建原始字符串字面量(raw string literals)。原始字符串字面量是不包含转义序列的字符串,其中的内容会保持原样,包括换行符和特殊字符。 反引号的主要用途之一是编写多行的文本或正则表达式,而不需要使用转义字符。这在处理包含大量特殊字符或格式化要求的文本 ......
2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在某些任务中,这个字符通常表示“正确”的结果 另一方面,他不喜欢 B 字符,因为在某些任务中,这个字符
2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在某些任务中,这个字符通常表示“正确”的结果 另一方面,他不喜欢 B 字符,因为在某些任务中,这个字符通常表示“错误”的结果 为了解决他的任务,塔子哥定义了字符串的权值为字符串中 R 字符的出现次数 例 ......
go101自定义泛型翻译——First Look of Custom Generics(上)
## 初识自定义泛型 1. 在自定义泛型的世界中。可能会与被定义成泛型类型的类型,泛型函数的函数。此外泛型类型也是会被定义成类型的,所有它们也可能会有相应的方法。 2. 关于泛型类型,泛型函数以及相应的方法的定义都会包含一种称为类型参数列表的部分,这是与普通方法函数以及方法最大的不同之处。 ### ......
Go 函数
函数是一组语句,可以在程序中重复使用。函数不会在页面加载时自动执行。函数将通过调用函数来执行。 ### 创建函数 要创建(通常称为声明)一个函数,请执行以下操作: - 使用 `func` 关键字。 - 指定函数的名称,后跟括号 `()`。 - 最后,在花括号 `{}` 内添加定义函数应执行的代码。 ......
go并发编程系列七:使用goroutine写一个线程池
TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Tradi ......
Go如何使用 Context 控制并发
Go如何使用 Context 控制并发 原创 萧瑟 golang面试经典讲解 2023-06-30 20:00 发表于上海 收录于合集 #go语言25个 #go25个 ##go工具23个 #面试54个 关于context的面试题还是比较多,发现context控制并发这块的面试最近出现的频率非常高,所 ......
go-spew最强大的调试工具
go-spew golang最强大的调试助手,没有之一 2017-06-091758 举报版权 nkbai +关注 简介: go内置的fmt.sprintf已经很强大了,但是和spew比起来还是相形见绌,这里来一个例子. import ( "fmt" "github.com/davecgh/go-s ......
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 ......
Go语言中的闭包
在 Go 语言中,匿名函数和闭包是两个相关但略有区别的概念: 1. **匿名函数**:如其名,是没有名字的函数。你可以将它赋值给变量或直接调用它。 ```go func() { fmt.Println("I'm an anonymous function!") }() ``` 2. **闭包**:是 ......
Go添加自定义操作符<等符号?
不,Go 语言不支持自定义操作符或重载内置操作符的行为,与 C++ 的 `operator` 重载不同。Go 的设计者们故意避免了操作符重载以保持语言的简单性。 但是,你可以为你的自定义 `struct` 定义方法来实现类似的功能,只不过这些方法不会使用操作符的语法。 例如,假设你有一个 `Vect ......