const go

每日一库:使用Viper处理Go应用程序的配置

在开发Go应用程序时,处理配置是一个常见的需求。配置可能来自于配置文件、环境变量、命令行参数等等。Viper是一个强大的库,可以帮助我们处理这些配置。 什么是Viper? Viper是一个应用程序配置解决方案,用于Go应用程序。它支持JSON、TOML、YAML、HCL、envfile和Java p ......
应用程序 程序 Viper

Go每日一库之21:jennifer

简介 今天我们介绍一个 Go 代码生成库jennifer。jennifer支持所有的 Go 语法和特性,可以用它来生成任何 Go 语言代码。 感谢kiyonlin的推荐! 快速使用 先安装: $ go get github.com/dave/jennifer 今天我们换个思路来介绍jennifer这 ......
jennifer

基于go语言gin框架的web项目骨架

该骨架每个组件之间可单独使用,组件之间松耦合,高内聚,组件的实现基于其他三方依赖包的封装。 目前该骨架实现了大多数的组件,比如事件,中间件,日志,配置,参数验证,命令行,定时任务等功能,目前可以满足大多数开发需求,后续会持续维护更新功能。 github地址:https://github.com/cz ......
骨架 框架 语言 项目 gin

Go指针探秘:深入理解内存与安全性

Go指针为程序员提供了对内存的深入管理能力,同时确保了代码的安全性。本文深入探讨了Go指针的基础概念、操作、深层理解及其特性与限制。通过深入了解其设计哲学和应用,我们可以更好地利用Go的强大功能。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联 ......
指针 安全性 内存

Recat Const 对象更新单个项

const [currentInfo, setCurrentInfo] = useState<BasicImagesItem>(); onFinish={async (values) => { setCurrentInfo({ ...currentInfo, //引入已有的 kname: value ......
单个 对象 Recat Const

go 反射

一. go 反射介绍和定义 在Go语言中,反射机制是一种动态获取变量类型和值信息的机制,它可以让程序在运行时动态地获取对象的类型信息、调用对象的方法、修改对象的属性等。通过反射机制,Go程序可以更加灵活和可扩展,但同时也会带来一些性能开销和复杂度。 在Go语言中,反射机制主要由标准库中的reflec ......
go

2023-09-23:用go语言,假设每一次获得随机数的时候,这个数字大于100的概率是P。 尝试N次,其中大于100的次数在A次~B次之间的概率是多少? 0 < P < 1, P是double类型,

2023-09-23:用go语言,假设每一次获得随机数的时候,这个数字大于100的概率是P。 尝试N次,其中大于100的次数在A次~B次之间的概率是多少? 0 < P < 1, P是double类型, 1 <= A <= B <= N <= 100。 来自左程云。 答案2023-09-23: 首先, ......
概率 随机数 100 次数 语言

Go每日一库之20:copier

简介 上一篇文章介绍了mergo库的使用,mergo是用来给结构体或map赋值的。mergo有一个明显的不足——它只能处理相同类型的结构!如果类型不同,即使字段名和类型完全相同,mergo也无能为力。今天我们要介绍的copier库就能处理不同类型之间的赋值。除此之外,copier还能: 调用同名方法 ......
copier

math 库中常用的数学运算和常量【GO 基础】

GO 语言的 math 库是一个内置的标准库,其中包含了许多数学函数和常量,用于计算各种数学运算和统计学计算,今天来梳理下备查。 ......
常量 常用 数学 基础 math

go基础学习

坏境 安装SDK 下载地址 windows 安装 可以直接下载安装msi 不需要配置坏境变量默认配置好了 zip 里面包含源码,但是需要配置坏境变量 liunx安装SDK wget https://dl.google.com/go/go1.20.2.linux-amd64.tar.gz tar -C ......
基础

Go项目学习(3)-cobra+viper仿SpringBoot读取配置

一开始只是想简单做一个cobra+viper的组合,做着做着因为从SpringBoot带来的习惯,想看看能不能仿制一个类似的功能,做起来貌似真的还阔以。 ......
SpringBoot 项目 cobra viper

Go - Run an application using systemd

The systemd tool fits our simple case of requiring the application to start on server boot-up as well as ensuring that the application is restarted in ......
application systemd using Run Go

Go 1.22 中的 For 循环

原文在这里。 由 David Chase and Russ Cox 发布于2023年9月19日 Go 1.21 版本包含了对 for 循环作用域的预览更改,我们计划在 Go 1.22 中发布此更改,以消除其中一种最常见的 Go 错误。 问题 如果你写过一定量的 Go 代码,你可能犯过一个错误,即在迭 ......
1.22 For Go 22

Go每日一库之19:mergo

简介 今天我们介绍一个合并结构体字段的库mergo。mergo可以在相同的结构体或map之间赋值,可以将结构体的字段赋值到map中,可以将map的值赋值给结构体的字段。感谢@thinkgos推荐。 快速使用 先安装: $ go get github.com/imdario/mergo 后使用: pa ......
mergo

go开发之基于个微的机器人开发

简要描述: 删除联系人 请求URL: http://域名地址/delContact 请求方式: POST 请求头Headers: Content-Type:application/json Authorization:login接口返回 参数: 参数名必选类型说明 wId 是 String 微信实列 ......
机器人 机器

JS中声明变量(常量)的方式有三种:var、let、const(常量)

三种声明方式中,第一优先使用的是const,如果希望变量被改变则使用let,至于var最好不要在代码中出现 块作用域可以重新赋值是否推荐使用 const √ × √ let √ √ √ var × √ × ......
常量 变量 方式 const var

GO 语言入门

GO 语言入门 语法基础 定义 1.批量格式 var a,b int var a int = 114514 var ( a int b string c []float32 ) type ST struct{ x int y int } i,j:=0,1 // 定义在func内才行 const e_ ......
语言 GO

VSCode安装go插件失败的解决方案

VSCode安装go插件失败的解决方案 构建Go开发环境,安装Go本身倒好说,VSCode里面安装Go插件也简单,但是,但是,当你想使用一些自动提示、代码格式化插件的时候, 就会提示缺少工具了,在VSCode里直接安装,如果成功了,那么恭喜你,如果跟我一样失败了(国内用户大概率是会失败的,原因你懂的 ......
插件 解决方案 方案 VSCode

Go - Separate external calls from our main logic

Original implementation: type SingleItem struct { Field string `json:"field"` Hour int `json:"hour"` Minute int `json:"minute"` ItemCode string `json: ......
Separate external calls logic from

VSCode - Go: Generate Unit Tests for Function

Right click the function name. Select item 'Go: Generate Unit Tests for Function' in the pop-up menu: A test file named <file name>_test.go is generat ......
Generate Function VSCode Tests Unit

Go每日一库之18:wire(依赖注入)

简介 之前的一篇文章Go 每日一库之 dig介绍了 uber 开源的依赖注入框架dig。读了这篇文章后,@overtalk推荐了 Google 开源的wire工具。所以就有了今天这篇文章,感谢推荐👍 [wire](https://github.com/google/wire)是 Google 开源 ......
wire

Go语言实现接口IP限流,黑名单&白名单的实例,都可用!

Go语言实现接口IP限流,黑名单&白名单的实例,都可用! 原创 学习与分享 Go语言圈 2023-07-18 08:30 发表于广东 收录于合集#学Go语言哪些事儿221个 MySQL大牛 带你全面剖析与系统梳理数据库(mysql等)知识分享,总结数据库技巧和方法,提升你的技术技能。 45篇原创内容 ......
实例 黑名单 接口 名单 语言

Go每日一库之17:watermill

简介 在上一篇文章Go 每日一库之 message-bus中,我们介绍了一款小巧、实现简单的异步通信库。作为学习,message-bus确实不错。但是在实际使用上,message-bus的功能就有点捉襟见肘了。例如,message-bus将消息发送到订阅者管道之后就不管了,这样如果订阅者处理压力较大 ......
watermill

2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b c d e f g h i e是中心点,依次打印 : e f i h g

2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b c d e f g h i e是中心点,依次打印 : e f i h g d a b c 如果n是偶数,中心点为最里层2*2的右下点 比如 a b c d e f g h ......
中心点 奇数 正方形 正方 语言

Go每日一库之16:message-bus

简介 在一个涉及多模块交互的系统中,如果模块的交互需要手动去调用对方的方法,那么代码的耦合度就太高了。所以产生了异步消息通信。实际上,各种各样的消息队列都是基于异步消息的。不过它们大部分都有着非常复杂的设计,很多被设计成一个独立的软件来使用。今天我们介绍一个非常小巧的异步消息通信库[message- ......
message-bus message bus

Go - Study Note 1

In general, for most server applications that would be built out there—most would be written with the struct approach. One of the main reasons would b ......
Study Note Go

Go项目学习(2)-viper

前言 GitHub地址 Api地址 详细教程可直接参考Github,已经很详细了,这里只进行简单入门知识总结。 介绍 用来获取配置,配置可来自flag、环境变量、配置文件、远程配置…… 获取配置的优先级:Set,flag,env,config,key/value stroe,default。 配置项 ......
项目 viper

Go每日一库之15:gojsonq

简介 在日常工作中,每一名开发者,不管是前端还是后端,都经常使用 JSON。JSON 是一个很简单的数据交换格式。相比于 XML,它灵活、轻巧、使用方便。JSON 也是RESTful API推荐的格式。有时,我们只想读取 JSON 中的某一些字段。如果自己手动解析、一层一层读取,这就变得异常繁琐了。 ......
gojsonq

Go协程揭秘:轻量、并发与性能的完美结合

Go协程为并发编程提供了强大的工具,结合轻量级、高效的特点,为开发者带来了独特的编程体验。本文深入探讨了Go协程的基本原理、同步机制、高级用法及其性能与最佳实践,旨在为读者提供全面、深入的理解和应用指导。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10 ......
轻量 性能

Go语言的基本语法

关键字与标识符: 关键字:被赋予了特殊含义的单词,又叫保留字。 Go语言中的关键字一共有 25 个。 标识符定义: (1)Go语言对各种变量、方法、函数等命名时使用的字符序列。 (2)由若干个字母、下划线(_)、和数字组成,且第一个字符必须是字母。 标识符声明: (1)使用标识符之前必须进行声明。 ......
语法 语言