const go

go-zero 消息队列使用

消息队列对于大型微服务系统是必不可少的,主要是用来解决削峰、降低服务之间的耦合度以及异步能力。 go-queue 在 segmentio/kafka-go 这个包基础上,使用 go-zero 进行了上层统一封装,让开发人员更容易上手,将更多时间聚焦在开发业务上。https://github.com/ ......
队列 go-zero 消息 zero go

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: 第一种算法( ......
整数 组分 空子 数组 nums

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 ......
fsnotify 文件

使用 Go 和 Linux Kernel 技术探究容器化原理

使用 Go 和 Linux Kernel 技术探究容器化原理 小白debug 2023-09-13 08:06 发表于上海 以下文章来源于gopher云原生 ,作者邹俊豪 gopher云原生. 专注于Go语言、云原生技术、基础设施及架构设计等知识分享 容器的优势 传统模式的部署,直接将多个应用运行在 ......
容器 原理 Kernel Linux 技术

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 等多种格式的配置文件; 可以设置监听配置文件的修改,修改时自动加载新 ......
viper

glog 日志库简介与测试【GO 常用的库】

〇、前言 golang/glog 是 C++ 版本 google/glog 的 Go 版本实现,基本实现了原生 glog 的日志格式。 在 Kuberntes 中,glog 是默认日志库。因此需要详细了解下。下面列举下 glog 的特点: 高效性:glog 采用了异步写入日志的方式,这意味着日志记录 ......
常用 简介 日志 glog

go-zero 生成中间件

1.API编写 2.生成API 生成后的目录如下 ......
中间件 go-zero zero go

go-zero接入GORM并使用

1.初始化数据库连接 2.建立模型 3.配置GORMDB 4.在RPC使用 5.启动RPC会看到如下结果 6.进行测试 ......
go-zero GORM zero go

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 model zero go

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-zero zero RPC go

Go语言中JSON的反序列化规则

Unmarshal 解析 func Unmarshal(data []byte, v any) error Unmarshal 解析 JSON 编码的数据,并将结果存储在 v 指向的值中。如果 v 为 nil 或不是指针,Unmarshal 返回一个 InvalidUnmarshalError 错误 ......
序列 规则 语言 JSON

Go语句与表达式深度解析:全案例手册

关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 语句 语句是Go编程语言中完成特定操作的单 ......
表达式 语句 深度 案例 手册

Go每日一库之5:cobra

简介 cobra是一个命令行程序库,可以用来编写命令行程序。同时,它也提供了一个脚手架, 用于生成基于 cobra 的应用程序框架。非常多知名的开源项目使用了 cobra 库构建命令行,如Kubernetes、Hugo、etcd等等等等。 本文介绍 cobra 库的基本使用和一些有趣的特性。 关于作 ......
cobra

Python/Java/Php/C#/Go/C/C++这几个主力语言,谁到底真的不行

1.前言 阿里最近又进行了史诗级的大裁员,IT行业肉眼可见的持续性衰退与没落。当潮水退却,才能看出谁在裸泳。作为当今计算机编程界的几大主力语言,谁才真正的裸泳者呢? 2.描述 1.Python: Python作为一款解释性的动态语言,它很早就诞生了。它的第一个发行版1991年出世,比Java还要早四 ......
主力 语言 Python Java Php

Go每日一库之4:go-ini

简介 ini 是 Windows 上常用的配置文件格式。MySQL 的 Windows 版就是使用 ini 格式存储配置的。 go-ini是 Go 语言中用于操作 ini 文件的第三方库。 本文介绍go-ini库的使用。 快速使用 go-ini 是第三方库,使用前需要安装: $ go get gop ......
go-ini ini go

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" ......
容器 container NewHSplit 水平 golang

ClickHouse使用之三 ——go程序操作

1. 得到一个clickhouse连接: import ( "context" "fmt" "log" "github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2/lib/driver" ) fun ......
ClickHouse 程序

Go代码包与引入:如何有效组织您的项目

本文深入探讨了Go语言中的代码包和包引入机制,从基础概念到高级应用一一剖析。文章详细讲解了如何创建、组织和管理代码包,以及包引入的多种使用场景和最佳实践。通过阅读本文,开发者将获得全面而深入的理解,进一步提升Go开发的效率和质量。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术 ......
代码 项目

为不断增长的Go生态系统扩展gopls

原文在这里。 由 Robert Findley and Alan Donovan 发布于 2023年9月8日 今年夏天初,Go团队发布了gopls的v0.12版本,这是Go语言的语言服务器,它进行了核心重写,使其能够适应更大的代码库。这是一项长达一年的努力的成果,我们很高兴分享我们的进展,并稍微谈一 ......
生态 不断 系统 gopls

ddns go 域名解析,为什么解析成功而你访问不了?

ddns-go介绍: DDNS-GO自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。支持的域名服务商:阿里云、腾讯云Dnspod、Cloudflare、华为云、百度云、Porkbun、GoDaddy、Google Domains以及自定义Callback 使用: 之前写过一篇 ......
域名 ddns go

Go - test coverage

......
coverage test Go

const char *ptr和char const *ptr以及char* const ptr的区别

const char *ptr 和 char const *ptr => 这里这么理解,这个表示的是*ptr, 也就是指针指向的值,而修饰这个指针指向的值 (*ptr)的是const char或者char const, 表示两个意思: const => 表示是个常量,也就是说*ptr这个指针指向的值 ......
const char ptr

Go每日一库之3:go-homedir

简介 今天我们来看一个很小,很实用的库go-homedir。顾名思义,go-homedir用来获取用户的主目录。 实际上,使用标准库os/user我们也可以得到这个信息: package main import ( "fmt" "log" "os/user" ) func main() { u, e ......
go-homedir homedir go

Golang(又称Go语言)是一种开源的静态强类型编程语

Golang(又称Go语言)是一种开源的静态强类型编程语言,巧瞒七星解磐键由Google在2007年开始开发,并于2009年发布。它的设计目标是提供一种简洁、高效的语言,同时具备高并发、高性能的特性。Golang的语法风格简洁明了,易于上手,适用于各种规模的项目。下面将介绍Golang在实际应用中的 ......
又称 静态 语言 类型 Golang

2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员

2023-09-10:用go语言编写。作为项目经理,你规划了一份需求的技能清单 req_skills, 并打算从备选人员名单 people 中选出些人组成一个「必要团队」 ( 编号为 i 的备选人员 people[i] 含有一份该备选人员掌握的技能列表)。 所谓「必要团队」,就是在这个团队中, 对于 ......
人员 人员名单 选出 req_skills 清单