golang

golang进程(主线程)与协程

概念 主线程:golang 中的主线程(在go中主线程就是进程,相比与其他编程语言叫法不一样) 协程:golang中协程是轻量级的线程(相比于其他语言,只有进程和线程);python中有进程和线程的概念,也有协程的概念;python中的协程通过async 来实现 并发与并行的概念 并发:在一个cpu ......
线程 进程 golang

go-carbon v2.3.5 发布,轻量级、语义化、对开发者友好的 golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

java中的多态与golang中的多态

多态是面向对象编程的一个重要特征。它允许不同类型的对象对同一方法进行不同的实现。具体来说,多态性指的是通过父类的引用变量来引用子类的对象,从而实现对不同对象的统一操作。 java中多态通过继承实现,在go语言中,多态通过接口实现 java多态案例 package org.example; class ......
golang java

golang 定义接口

一、定义接口语法 type 接口名 interface { method1(参数列表) 返回值列表 method2(参数列表) 返回值列表 } 接口中所有方法都没有方法体 接口中不能包含任何变量 golang中没有implements 关键字,因此不需要显示的去实现接口;在golang中只要一个变量 ......
接口 golang

Golang throttled是一个基于GCRA的速率限制库

Golang throttled是一个基于GCRA的速率限制库 原创 Eagle1949 技术源泉 2024-01-07 07:01 发表于河南 1人听过 Throttled包实现了对HTTP端点等资源的速率限制访问。它使用通用信元速率算法(GCRA)来限制对资源(如HTTP端点)的访问,从而实现速 ......
速率 throttled Golang GCRA

golang利用helm的sdk写一个chats转换成yaml文件

chats_dir: 就是 helm pull下来的仓库 可以用命令直接生成 helm3 template chats_dir --release-name hank 可以变成yaml文件,然后就可以直接apply了 下面利用helm的sdk把chats生成yaml代码 package main i ......
文件 golang chats helm yaml

Golang 监控文件夹内文件的增删改(包括子文件夹)

1 package main 2 3 import ( 4 "crypto/md5" 5 "fmt" 6 "go-admin/log" 7 "os" 8 "path/filepath" 9 "time" 10 11 "github.com/fsnotify/fsnotify" 12 ) 13 14 ......
文件 文件夹 Golang

Golang实现JAVA虚拟机-指令集和解释器

原文链接:https://gaoyubo.cn/blogs/f57f32cf.html 前置 Golang实现JAVA虚拟机-解析class文件 Golang实现JAVA虚拟机-运行时数据区 一、字节码、class文件、指令集的关系 class文件(二进制)和字节码(十六进制)的关系 class文件 ......
解释器 指令 Golang JAVA

Golang学习笔记(十)—— 协程调度

协程调度 调度流程 Go程序运行和调度初始化 Go 程序运行会经过以下几个阶段: 从磁盘上读取可执行文件,加载到内存 操作系统执行 runtime 包中的程序入口 runtime 执行初始化,最后调用 main 函数 上图中的流程是根据源码文件 src/runtime/asm_amd64.s 和 s ......
笔记 Golang

golang 用os.OpenFile写入文件

func main() { filename := "测试.txt" // 如果文件存在,则追加写入,如果文件不存在则新建文件写入 //f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_APPEND, os.ModePerm) ......
OpenFile 文件 golang os

【golang】GO之认证与授权

一般公司项目比较多,比较分散,但是对于都是公司的用户来说,用户数据一般是共享的,所以集成统一认证与授权的功能一般就必不可少,这样可以实现一个用户,分配一点权限,能访问公司很多项目. 一般的认证与授权方案有 OAuth、分布式 Session、OpenID 和 JWT 等.目前常用的是OAuth2,其 ......
golang

如何使用 Golang 比较版本号大小?

如何使用 Golang 比较版本号大小? 原创 路多辛 路多辛 2024-01-09 21:00 发表于上海 听全文 在日常开发中,比较版本号大小的情况是经常遇到的。因为版本号通常是字符串形式的,所以在 Go 语言中,比较版本号大小通常需要将字符格式的版本号串解析为可比较的数值,然后进行比较。版本号 ......
大小 版本 Golang

Golang学习笔记(九)—— 并发编程

并发编程 GMP模型 GMP模型是 Go 的协程调度模型。 G是 goroutine 实现的核心结构,它包含了栈,指令指针,以及其他对调度 goroutine 很重要的信息,例如其阻塞的 channel。 P结构是 Processor,它的主要用途就是 M 执行 G 提供上下文,它维护了一个 gor ......
笔记 Golang

golang 定期切换浏览器页面小工具

==引入包== go get github.com/go-vgo/robotgo ==源代码== package main import ( "fmt" "github.com/go-vgo/robotgo" "strconv" "strings" "time" ) func main() { br ......
浏览器 页面 工具 golang

RockyLinux9.2编译安装golang1.21

RockyLinux9.2编译安装golang1.21🔰 golang官网 https://golang.google.cn/dl/ 1. 下载go安装包 [root@localhost ~]# wget https://golang.google.cn/dl/go1.21.5.linux-amd ......
RockyLinux9 RockyLinux golang1 golang 21

Golang学习笔记(八)—— 泛型

泛型 泛型是什么?为什么要用泛型? 在开发中,会有一些复用性很强的功能,它被应用到很多地方,但为了适用会被不断重写,这很低效。例如一个intADD函数,他能进行 int 的加法,假如我们想进行 float 加法,又得重写一个floatADD函数,泛型就是为了解决这个问题而推出的功能。 想要接收多种类 ......
笔记 Golang

golang 继承的实现(结构体的继承 )

golang中的继承 在golang中,如果一个struct 中嵌套了另一个匿名结构体,那么这个结构体就可以直接访问这个匿名结构体中的字段和方法,从而实现继承。 package main import ( "fmt" ) type Animal struct { Name string Age in ......
结构 golang

golang 设计模式

GO程序设计模式 目录GO程序设计模式创建型模式单例模式概念示例 代码示例输出结果另一个列子结构型模式适配器模式概念示例代码示例输出结果桥接模式概念示例代码示例执行结果组合模式装饰模式外观模式享元模式代理模式 创建型模式 单例模式 单例是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供 ......
设计模式 模式 golang

golang 每日一库(1)

mapstructure 转载: https://www.cnblogs.com/shix0909/p/15655432.html 作用: 用于将通用的map[string]interface{}解码到对应的 Go 结构体中,或者执行相反的操作。很多时候,解析来自多种源头的数据流时,我们一般事先并不 ......
golang

golang 并发

Golang 并发 并行 指的是在同一时刻 有多条指令在多个CPU处理器上同时执行 2个任务2个窗口需要硬件支持 并发是指在同一时刻 只能有一条指令 单多个进程指令快速轮换执行 2个队伍1个窗口 要求提升软件能力 Golang 并发优势 go 从底层就支持并发 简化了并发程序的编写方法 Gorout ......
golang

8种超简单的Golang生成随机字符串方式

本文分享自华为云社区《Golang生成随机字符串的八种方式与性能测试》,作者: 张俭。 前言 这是**icza**在StackOverflow上的一篇高赞回答,质量很高,翻译一下,大家一起学习 问题是:go语言中,有没有什么最快最简单的方法,用来生成只包含英文字母的随机字符串 icza给出了8个方案 ......
字符串 字符 方式 Golang

Golang学习笔记(七)—— 异常处理

异常处理 异常 在Go语言中,异常被定义为实现了 error 接口的类型;error 接口只包含一个方法 Error() ,用于返回错误信息。 error 除了输出错误外,往往需要输出当时的业务相关信息(错误地址,错误码,错误信息等),举个简单例子: package main import ( "f ......
笔记 Golang

Golang——安装git工具失败,Failed to connect to github.com port 443 after 21078 ms: Couldn't connect to server

Golang——Failed to connect to github.com port 443:Timed out 解决方案: 1、首先使用浏览器确认包是否可正常访问到 2、查看当前git是否设置了其他代理或指定的地址,由于该仓库地址下没有导致。 <code>-- 查看是否设置 git confi ......
connect to 工具 Golang Failed

Golang中的观察者模式:优化订单处理系统

Golang中的观察者模式:优化订单处理系统 点击关注👉 马哥Linux运维 2024-01-06 12:43 发表于江苏 当涉及到订单处理系统时,观察者设计模式可以用于实现订单状态的变化和通知。在这篇文章中,我们将介绍如何使用Golang来实现观察者设计模式,并提供一个基于订单处理系统的代码示例 ......
观察者 订单 模式 Golang 系统

Golang学习笔记(六)—— 面向对象

面向对象 面向对象有三大特点:封装、继承和多态 方法 给内置类型定义方法是不被允许的 接收者 接口类型是无效的方法接收者 在之前的 学习笔记(二) 中有提到过方法,其格式如下: func (接收者) func_name(参数) 返回值 { //操作 } 学习了函数调用栈后,我们要知道 —— 接收者在 ......
对象 笔记 Golang

Golang如何进行数据库查询

Golang是一门高效、快速、强大的编程语言,可用于构建各种应用程序,尤其是在Web开发中表现突出。当与数据库结合使用时,Golang提供了一些强大的工具,帮助开发人员操作数据库。在本篇文章中,我们将重点介绍Golang如何进行数据库查询。 一、Golang数据库查询 Golang中的数据库查询主要 ......
数据库 数据 Golang

Golang学习笔记(五)—— 函数进阶

函数进阶 函数调用栈 函数栈帧 分配给函数的栈空间被称为函数栈帧。其大致布局如下图所示: 调用者的栈基地址:保存调用函数的栈基地址,用于函数返回后获得调用函数的栈帧基地址 局部变量:函数内部本地变量 返回值:保存函数返回值临时变量 参数:函数调用时传入的参数,其值会被复制到函数栈帧中的参数变量中 返 ......
函数 笔记 Golang

golang string 字符集 与编码

1.字符串字符串在Go语言中以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、 float32、foat64等)一样。 字符串的值为双引号中的内容,可以在Go语言的源码中直接添加非ASCⅡ码字符 Go语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下所示 转移符 ......
字符集 字符 编码 golang string

g——Windows下安装多版本golang

Windows下安装多版本golang 有三种方法,推荐使用第三种。 方法一:manage-install 官方方法,golang/dl。 该方法要求能理性上网,我试过一些国内的代理网站,都不可行。 方法二:gvm gvm 已经好几年不更新了,有很多错误,但优点是可以同时运行多个版本的Golang。 ......
Windows 版本 golang

golang定时器相关的函数超硬核解析

golang定时器相关的函数超硬核解析 原创 萧楚河 golang面试经典讲解 2024-01-03 20:10 发表于上海 听全文 一、前言 Golang 定时器包括:一次性定时器(Timer)和周期性定时器(Ticker)。 编程中经常会通过timer和ticker、AfterFunc。定时器N ......
定时器 函数 golang
共784篇  :1/27页 首页上一页1下一页尾页