上下文 上下context go
零拷贝技术:减少数据复制和上下文切换,提高网络传输效率(上)
在本次讨论中,我们确实只是提到了DMA技术在文件传输过程中的重要作用,并对零拷贝技术进行了简要介绍。然而,网络传输中存在的问题和优化方法是一个庞大的话题,涉及到诸多方面。因此,我决定将这些问题的详细讨论留到下一篇文章中,以便更全面地探讨网络传输的优化。我希望通过这样的讨论,能够为读者提供有益的信息和... ......
crypto 加解密库简介与测试【GO 常用的库】
〇、前言 GO 语言的标准库 crypto 提供了一组用于加密和解密的包,包括对称加密、哈希函数、数字签名、随机数生成等功能。在日常开发中,通过使用这些库,可以确保数据的安全性和完整性。 对于使用频率比较高的东西,还是要汇总一下用来备查。 一、md5 加密 md5 包实现了 RFC 1321 中定义 ......
报错:go: go.mod file not found in current directory or any parent directory; see 'go help modules'
报错:go: go.mod file not found in current directory or any parent directory; see 'go help modules' 知识补充: ......
GO语言集成开发工具环境-JetBrains GoLand 2023 Mac+win版
JetBrains GoLand是一款由JetBrains开发的集成开发环境(IDE),专门用于Go语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和测试Go代码。 →→↓↓载GoLand 2023 mac/win版 首先,GoLand具有强大的代码编辑功能。它支持代码自动补全、语 ......
Go之流程控制大全: 细节、示例与最佳实践
本文深入探讨Go语言中的流程控制语法,包括基本的if-else条件分支、for循环、switch-case多条件分支,以及与特定数据类型相关的流程控制,如for-range循环和type-switch。文章还详细描述了goto、fallthrough等跳转语句的使用方法,通过清晰的代码示例为读者提供 ......
Go每日一库之9:log
简介 在日常开发中,日志是必不可少的功能。虽然有时可以用fmt库输出一些信息,但是灵活性不够。Go 标准库提供了一个日志库log。本文介绍log库的使用。 快速使用 log是 Go 标准库提供的,不需要另外安装。可直接使用: package main import ( "log" ) type Us ......
从Go1.16开始,ioutil.ReadAll、ioutil.ReadFile和ioutil.ReadDir被弃用
废弃ioutil包后的替换函数 ioutil.ReadAll -> io.ReadAll ioutil.ReadFile -> os.ReadFile ioutil.ReadDir -> os.ReadDir others ioutil.NopCloser -> io.NopCloser iouti ......
深挖 go 之 for-range 排坑指南
https://mp.weixin.qq.com/s/rfbZ79TmZ61lx_JBnwDJMQ# or https://www.cnblogs.com/-wenli/p/12343300.html ......
Go每日一库之8:cast(类型转换)
简介 今天我们再来介绍 spf13 大神的另一个库cast。cast是一个小巧、实用的类型转换库,用于将一个类型转为另一个类型。 最初开发cast是用在hugo中的。 快速使用 先安装: $ go get github.com/spf13/cast 后使用: package main import ......
(转)Go语言基础——内置函数
原文:https://blog.csdn.net/m0_60496161/article/details/130836218 内置类型值类型: bool int(32 or 64), int8, int16, int32, int64 uint(32 or 64), uint8(byte), uin ......
go-zero 消息队列使用
消息队列对于大型微服务系统是必不可少的,主要是用来解决削峰、降低服务之间的耦合度以及异步能力。 go-queue 在 segmentio/kafka-go 这个包基础上,使用 go-zero 进行了上层统一封装,让开发人员更容易上手,将更多时间聚焦在开发业务上。https://github.com/ ......
2023-09-13:用go语言,给定一个整数数组 nums 和一个正整数 k, 找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。 输入: nums = [4, 3, 2, 3, 5,
2023-09-13:用go语言,给定一个整数数组 nums 和一个正整数 k, 找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。 输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4。 输出: True。 来自左程云。 答案2023-09-13: 第一种算法( ......
Go安装
1.官网下载安装 https://golang.org/dl/ 2.环境变量 用户变量path 系统变量工作路径 3.检验 go version 4.在工作目录下创建 bin 编译后可执行文件 pkg 编译后归档文件 src 源码文件 5.src下新建hello目录 新建main.go packag ......
Go语言中的隐式接口冲问题
Go语言中的隐式接口冲突 问题 Go中隐式接口,只要实现了某个接口就能当作那个接口使用,但是在不同接口中,可能有相同名字的方法,这时候就有可能会有接口冲突的问题。 隐式接口的好处之一就是松耦合,接口之间容易相互转换 比如有个自定义接口 MyError 接口,里面有个Error()方法 type My ......
Go每日一库之7:fsnotify(跨平台文件监听)
简介 上一篇文章Go 每日一库之 viper中,我们介绍了 viper 可以监听文件修改进而自动重新加载。 其内部使用的就是fsnotify这个库,它是跨平台的。今天我们就来介绍一下它。 快速使用 先安装: $ go get github.com/fsnotify/fsnotify 后使用: pac ......
使用 Go 和 Linux Kernel 技术探究容器化原理
使用 Go 和 Linux Kernel 技术探究容器化原理 小白debug 2023-09-13 08:06 发表于上海 以下文章来源于gopher云原生 ,作者邹俊豪 gopher云原生. 专注于Go语言、云原生技术、基础设施及架构设计等知识分享 容器的优势 传统模式的部署,直接将多个应用运行在 ......
Go学习笔记5
十六、基于TCP协议的网络通信 创建客户端 【1】调用Dial函数:(net包下) 【2】代码: package main import( "fmt" "net" //所需的网络编程全部都在net包下 ) func main(){ //打印: fmt.Println("客服端启动。。") //调用D ......
ClickHouse使用之五 ——clickhouse-go内存泄露解决
这个代码运行2亿条记录,发现内存使用一直增加,内存满了以后,直接被killed func (p *ClickHouseClient) CountAllTxTypees(startId int, endId int, SpaceStore SpaceInterface) (web3datas []We ......
Go每日一库之6:viper
简介 上一篇文章介绍 cobra 的时候提到了 viper,今天我们就来介绍一下这个库。 viper 是一个配置解决方案,拥有丰富的特性: 支持 JSON/TOML/YAML/HCL/envfile/Java properties 等多种格式的配置文件; 可以设置监听配置文件的修改,修改时自动加载新 ......
glog 日志库简介与测试【GO 常用的库】
〇、前言 golang/glog 是 C++ 版本 google/glog 的 Go 版本实现,基本实现了原生 glog 的日志格式。 在 Kuberntes 中,glog 是默认日志库。因此需要详细了解下。下面列举下 glog 的特点: 高效性:glog 采用了异步写入日志的方式,这意味着日志记录 ......
C# 将异步消息分派到同步上下文中
封装一个异步方法类: using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Collections.Specialized; using System.Co ......
go-zero接入GORM并使用
1.初始化数据库连接 2.建立模型 3.配置GORMDB 4.在RPC使用 5.启动RPC会看到如下结果 6.进行测试 ......
Go语言基础-02复合数据类型
课程内容 1流程控制补充 goto break+label continue+label 2数组: 声明(零值,类型),初始化,操作: 3切片: 声明(零值,类型),初始化,操作: 4map: 声明(零值,类型),初始化,操作: 5练习,字符统计 我有一个梦想 6字符串处理 7排序 8作业 001 ......
go-zero 生成model
1.准备MYSQL文件 CREATE TABLE user ( id bigint AUTO_INCREMENT, name varchar(255) NULL COMMENT 'The username', password varchar(255) NOT NULL DEFAULT '' COM ......
go-zero 生成RPC
1.编写message.proto文件 syntax = "proto3";package pb;// 生成golang 代码后的包名option go_package ="./pb";enum Status{ UNSPECIFIED=0; SUCCESS=1; FAILED=2;}message ......
Go语言中JSON的反序列化规则
Unmarshal 解析 func Unmarshal(data []byte, v any) error Unmarshal 解析 JSON 编码的数据,并将结果存储在 v 指向的值中。如果 v 为 nil 或不是指针,Unmarshal 返回一个 InvalidUnmarshalError 错误 ......
Go语句与表达式深度解析:全案例手册
关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 语句 语句是Go编程语言中完成特定操作的单 ......
Go每日一库之5:cobra
简介 cobra是一个命令行程序库,可以用来编写命令行程序。同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架。非常多知名的开源项目使用了 cobra 库构建命令行,如Kubernetes、Hugo、etcd等等等等。 本文介绍 cobra 库的基本使用和一些有趣的特性。 关于作 ......