newticker go

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 微信实列 ......
机器人 机器

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)使用标识符之前必须进行声明。 ......
语法 语言

Go - Proverb: Accept interfaces, return structs

fake.go package fake import "fmt" type ExampleStruct struct { Item1 string Item2 string Item3 string } func (e ExampleStruct) LogLine() { fmt.Printf(" ......
interfaces Proverb structs Accept return

GO 中的时间操作(time & dateparse)【GO 基础】

〇、前言 日常开发过程中,对于时间的操作可谓是无处不在,但是想实现时间自由还是不简单的,多种时间格式容易混淆,那么本文将进行梳理,一起学习下。 官方提供的库是 time,功能很全面,本文也会详细介绍。 还有另外一个开源库 dateparse,使用起来比较方便,本文也会将加入示例测试出结果,以展示其优 ......
dateparse 时间 基础 time amp

Go每日一库之14:dig

简介 今天我们来介绍 Go 语言的一个依赖注入(DI)库——dig。dig 是 uber 开源的库。Java 依赖注入的库有很多,相信即使不是做 Java 开发的童鞋也听过大名鼎鼎的 Spring。相比庞大的 Spring,dig 很小巧,实现和使用都比较简洁。 快速使用 第三方库需要先安装,由于我 ......
dig

Go - Fibonacci

fibonacci.go package algorithms // Dynamic Programming func Fibonacci1(n int) int { if n <= 0 { return 0 } if n <= 2 { return 1 } previous1 := 1 previ ......
Fibonacci Go

Go每日一库之13:email

简介 程序中时常有发送邮件的需求。有异常情况了需要通知管理员和负责人,用户下单后可能需要通知订单信息,电商平台、中国移动和联通都有每月账单,这些都可以通过邮件来推送。还有我们平时收到的垃圾邮件大都也是通过这种方式发送的😭。那么如何在 Go 语言发送邮件?本文我们介绍一下email库的使用。 快速使 ......
email

Go比Python快多少倍?请看一个简单的例子

需求 两个0-10000的数组,循环遍历两个数组,获取两个元素,打印出乘积为56213的所有元素 Python实现 import datetime s = datetime.datetime.now() for i in range(10000): for j in range(10000): if ......
请看 例子 Python

Windows和Linux下通过go实现自删除

自删除在攻防中都挺常见的,自写远控通常也有需要。可是在度娘里搜不到什么办法,于是就查查Windows api学习记录一回。 linux 先获得当前程序的文件名,再使用syscall这个包中的Unlink调用系统来删除一个目录或者文件的链接,链接没了也就删除完成了。 fileName, _ := os ......
Windows Linux

go知名第三方包ssdb

因为beego中cache模块中使用了ssdb,所以准备学习下ssdb (1)ssdb简介 (2)ssdb的基本操作 (3)gossdb怎么使用? 1、ssdb简介 SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sor ......
第三方 ssdb

Go每日一库之12:carbon(日期和时间)

简介 一线开发人员每天都要使用日期和时间相关的功能,各种定时器,活动时间处理等。标准库time使用起来不太灵活,特别是日期时间的创建和运算。carbon库是一个时间扩展库,基于 PHP 的carbon库编写。提供易于使用的接口。本文就来介绍一下这个库。 快速使用 第三方库需要先安装: $ go ge ......
日期 时间 carbon

Go - Merge Sort

MergeSort.go package main func MergeSort(items []int) []int { n := len(items) var combined []int switch { case n <= 1: combined = items case n == 2: i ......
Merge Sort Go