switch go
Go 项目的 MAKE 工具
Go 项目的 MAKE 工具 MAKE 工具是 Linux 和 Unix 系统中一种常见的自动化构建工具,通常用于管理和组织软件项目。在 Go 语言中,使用 MAKE 工具可以轻松地管理和构建项目,并自动执行诸如编译、测试、安装等复杂的操作。 下面将介绍如何在 Go 项目中使用 MAKE 工具,并说 ......
Go-base知识点
go的基本东西 FPM进程 master,worker Gpm 协程和线程的联系 协程是GO的核心 Go module go.mod Go 的常用命令 Go run Go build Go 的基本语法 Struct Func 指针方法,非指针方法 大写public,小写 private 作用域 放同 ......
Golang 的骚操作:go:linkname
背景 在看源码时,一些源码方法没有方法体,难道说明这些方法为空?例如:time.Now调用的 now(), time.Sleep , reflect.makechan // Provided by package runtime. func now() (sec int64, nsec int32, ......
go 定义类型
定义变量方式 定义变量时需要注意 在最外层一定要使用var 的方式定义变量不能使用 ':='的方式,只有在func 里面可以使用':=' 定义变量 var( str string = "holle" sum int = 1 enable bool = false ) func test1(){ va ......
每日一库:使用Viper处理Go应用程序的配置
在开发Go应用程序时,处理配置是一个常见的需求。配置可能来自于配置文件、环境变量、命令行参数等等。Viper是一个强大的库,可以帮助我们处理这些配置。 什么是Viper? Viper是一个应用程序配置解决方案,用于Go应用程序。它支持JSON、TOML、YAML、HCL、envfile和Java p ......
Go每日一库之21:jennifer
简介 今天我们介绍一个 Go 代码生成库jennifer。jennifer支持所有的 Go 语法和特性,可以用它来生成任何 Go 语言代码。 感谢kiyonlin的推荐! 快速使用 先安装: $ go get github.com/dave/jennifer 今天我们换个思路来介绍jennifer这 ......
基于go语言gin框架的web项目骨架
该骨架每个组件之间可单独使用,组件之间松耦合,高内聚,组件的实现基于其他三方依赖包的封装。 目前该骨架实现了大多数的组件,比如事件,中间件,日志,配置,参数验证,命令行,定时任务等功能,目前可以满足大多数开发需求,后续会持续维护更新功能。 github地址:https://github.com/cz ......
Go指针探秘:深入理解内存与安全性
Go指针为程序员提供了对内存的深入管理能力,同时确保了代码的安全性。本文深入探讨了Go指针的基础概念、操作、深层理解及其特性与限制。通过深入了解其设计哲学和应用,我们可以更好地利用Go的强大功能。 关注公众号【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有10+年互联 ......
Layer 2 Switching Basic
Layer 2 Switching Basic Repeater(中继器) BNS最早的拓扑网络方式,只能连接在两个终端。 工作原理放大信号 Hub(集线器) 集线器与中继器的区别: 中继器只能连接两个终端 集线器可连接多个终端 半双工(单向通信) 就像对讲机一样,同一时间只允许单项通讯,一方通讯完 ......
go 反射
一. go 反射介绍和定义 在Go语言中,反射机制是一种动态获取变量类型和值信息的机制,它可以让程序在运行时动态地获取对象的类型信息、调用对象的方法、修改对象的属性等。通过反射机制,Go程序可以更加灵活和可扩展,但同时也会带来一些性能开销和复杂度。 在Go语言中,反射机制主要由标准库中的reflec ......
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: 首先, ......
Go每日一库之20:copier
简介 上一篇文章介绍了mergo库的使用,mergo是用来给结构体或map赋值的。mergo有一个明显的不足——它只能处理相同类型的结构!如果类型不同,即使字段名和类型完全相同,mergo也无能为力。今天我们要介绍的copier库就能处理不同类型之间的赋值。除此之外,copier还能: 调用同名方法 ......
math 库中常用的数学运算和常量【GO 基础】
GO 语言的 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带来的习惯,想看看能不能仿制一个类似的功能,做起来貌似真的还阔以。 ......
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 ......
Go 1.22 中的 For 循环
原文在这里。 由 David Chase and Russ Cox 发布于2023年9月19日 Go 1.21 版本包含了对 for 循环作用域的预览更改,我们计划在 Go 1.22 中发布此更改,以消除其中一种最常见的 Go 错误。 问题 如果你写过一定量的 Go 代码,你可能犯过一个错误,即在迭 ......
Go每日一库之19:mergo
简介 今天我们介绍一个合并结构体字段的库mergo。mergo可以在相同的结构体或map之间赋值,可以将结构体的字段赋值到map中,可以将map的值赋值给结构体的字段。感谢@thinkgos推荐。 快速使用 先安装: $ go get github.com/imdario/mergo 后使用: pa ......
go开发之基于个微的机器人开发
简要描述: 删除联系人 请求URL: http://域名地址/delContact 请求方式: POST 请求头Headers: Content-Type:application/json Authorization:login接口返回 参数: 参数名必选类型说明 wId 是 String 微信实列 ......
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_ ......
VSCode安装go插件失败的解决方案
VSCode安装go插件失败的解决方案 构建Go开发环境,安装Go本身倒好说,VSCode里面安装Go插件也简单,但是,但是,当你想使用一些自动提示、代码格式化插件的时候, 就会提示缺少工具了,在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: ......
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 ......
Go每日一库之18:wire(依赖注入)
简介 之前的一篇文章Go 每日一库之 dig介绍了 uber 开源的依赖注入框架dig。读了这篇文章后,@overtalk推荐了 Google 开源的wire工具。所以就有了今天这篇文章,感谢推荐👍 [wire](https://github.com/google/wire)是 Google 开源 ......
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将消息发送到订阅者管道之后就不管了,这样如果订阅者处理压力较大 ......
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 ......
Java 21 新特性:switch的模式匹配
在之前的Java 17新特性中,我们介绍过关于JEP 406: switch的模式匹配,但当时还只是关于此内容的首个预览版本。之后在JDK 18、JDK 19、JDK 20中又都进行了更新和完善。如今,在JDK 21中,该特性得到了最终确定!下面,我们就再正式学习一下该功能! 在以往的switch语 ......
Go每日一库之16:message-bus
简介 在一个涉及多模块交互的系统中,如果模块的交互需要手动去调用对方的方法,那么代码的耦合度就太高了。所以产生了异步消息通信。实际上,各种各样的消息队列都是基于异步消息的。不过它们大部分都有着非常复杂的设计,很多被设计成一个独立的软件来使用。今天我们介绍一个非常小巧的异步消息通信库[message- ......
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 ......