上下文 上下context go
Go每日一库之4:go-ini
简介 ini 是 Windows 上常用的配置文件格式。MySQL 的 Windows 版就是使用 ini 格式存储配置的。 go-ini是 Go 语言中用于操作 ini 文件的第三方库。 本文介绍go-ini库的使用。 快速使用 go-ini 是第三方库,使用前需要安装: $ go get gop ......
fyne container.NewHSplit水平分割容器 Go golang
环境:go fyne 要求:go项目中 将窗口分成左右两个容器,实现窗口分割 效果: 实现代码: 1 package main 2 3 import ( 4 "fyne.io/fyne/v2" 5 "fyne.io/fyne/v2/app" 6 "fyne.io/fyne/v2/container" ......
ClickHouse使用之三 ——go程序操作
1. 得到一个clickhouse连接: import ( "context" "fmt" "log" "github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2/lib/driver" ) fun ......
Go代码包与引入:如何有效组织您的项目
本文深入探讨了Go语言中的代码包和包引入机制,从基础概念到高级应用一一剖析。文章详细讲解了如何创建、组织和管理代码包,以及包引入的多种使用场景和最佳实践。通过阅读本文,开发者将获得全面而深入的理解,进一步提升Go开发的效率和质量。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术 ......
为不断增长的Go生态系统扩展gopls
原文在这里。 由 Robert Findley and Alan Donovan 发布于 2023年9月8日 今年夏天初,Go团队发布了gopls的v0.12版本,这是Go语言的语言服务器,它进行了核心重写,使其能够适应更大的代码库。这是一项长达一年的努力的成果,我们很高兴分享我们的进展,并稍微谈一 ......
ddns go 域名解析,为什么解析成功而你访问不了?
ddns-go介绍: DDNS-GO自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。支持的域名服务商:阿里云、腾讯云Dnspod、Cloudflare、华为云、百度云、Porkbun、GoDaddy、Google Domains以及自定义Callback 使用: 之前写过一篇 ......
Go每日一库之3:go-homedir
简介 今天我们来看一个很小,很实用的库go-homedir。顾名思义,go-homedir用来获取用户的主目录。 实际上,使用标准库os/user我们也可以得到这个信息: package main import ( "fmt" "log" "os/user" ) func main() { u, e ......
Golang(又称Go语言)是一种开源的静态强类型编程语
Golang(又称Go语言)是一种开源的静态强类型编程语言,巧瞒七星解磐键由Google在2007年开始开发,并于2009年发布。它的设计目标是提供一种简洁、高效的语言,同时具备高并发、高性能的特性。Golang的语法风格简洁明了,易于上手,适用于各种规模的项目。下面将介绍Golang在实际应用中的 ......
2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员
2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员 people[i] 含有一份该备选人员掌握的技能列表)。 所谓「必要团队」,就是在这个团队中, 对于 ......
go微服务开发:go-zero入门教程(三)
背景:开发中,免不了要对代码进行debug调试,go也不例外,使用go-zero框架时,该怎么对项目进行调试呢? 以user模块为例,找到service/user/api/user.go,这是user模块的入口,打开user.go可以看到main函数。 TRANSLATE with x Englis ......
Go运算操作符全解与实战:编写更高效的代码!
本文全面探讨了Go语言中的各类运算操作符,从基础的数学和位运算到逻辑和特殊运算符。文章旨在深入解析每一种运算操作符的工作原理、应用场景和注意事项,以帮助开发者编写更高效、健壮和可读的Go代码。 简介 Go语言,作为一种现代的编程语言,不仅因为其简单易读的语法而受到欢迎,还因为它的性能和高度并发能力在 ......
Go Maps
Maps用于以键值对的形式存储数据值。Maps中的每个元素都是一个键值对。Maps是一个无序且可更改的集合,不允许重复。Maps的长度是其元素的数量。您可以使用 len() 函数来查找长度。Maps的默认值是 nil。Maps保存对底层哈希表的引用。 Go语言有多种方法来创建Maps。 使用 var ......
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) // 通 ......
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关 ......
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 ......