Go

go压缩和解压文件

压缩和解压文件 package main import ( "archive/tar" "compress/gzip" "fmt" "io" "os" "strings" ) // Compress 压缩 使用gzip压缩成tar.gz func Compress(files []*os.File, ......
文件

Go 语言:如何利用好 TDD 学习指针并了解 Golang 中的 error 处理

我们在上一节中学习了结构体(structs),👉Go语言:利用 TDD 驱动开发测试 学习结构体、方法和接口 它可以组合与一个概念相关的一系列值。 你有时可能想用结构体来管理状态,通过将方法暴露给用户的方式,让他们在你可控的范围内修改状态。 金融科技行业都喜欢 Go 和比特币吧?那就来看看我们能创 ......
指针 语言 Golang error TDD

01go包无法远程下载,无法访问

默认使用的是proxy.golang.org,在国内无法访问。 处理方法 换一个国内能访问的代理地址:https://goproxy.cn go env -w GOPROXY=https://goproxy.cn ......
01 go

Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试

前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 在 Go 中 for 用来循环和迭代, Go 语言没有 while,do,until 这几个关键字,我们只能使用 for。这也算是件好事! 让我们来为一个重复字符 ......
基准 语句 benchmark 语言 for

深入理解Go语言中的sync.Cond

1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Cond 来实现 goroutine 之间的同步。 2. 基本使用 2.1 定义 sync.Cond是Go语言标准库中的一 ......
语言 sync Cond

一文吃透 Go 内置 RPC 原理

hello 大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第三篇,依旧分析 Http 模块。我们今天来看 Go内置的 RPC。说起 RPC 大家想到的一般是框架,Go 作为编程语言竟然还内置了 RPC,着实让我有些吃鲸。 从一个 Demo 入手 为了快速进入状态,我们先搞一个 Demo,当然这 ......
原理 RPC Go

看看CabloyJS是如何异步加载并执行go wasm模块的

CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发 ......
模块 CabloyJS wasm

【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群

🎈 项目效果 由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重 不仅时时刻刻要跟企鹅公司斗智斗勇,还要时时刻刻都要跟 openai 公司打游击,真的是很难有一个稳定的版本供大家屡试不爽 在不断的游击战中,我们也是越战越勇,在磨练中,技术越来越完善,体验也 ......
机器人 go-cqhttp 机器 ChatGPT cqhttp

最近写了一个demo,想看看java和go语言是怎么写的

最近写了一个demo:demo的github地址 一. 简单介绍 1. Server端 它是一个WebApi服务,把它当成一个黑盒就行了。 2. MiddleServer端 是重点,它是一个WebApi服务,包含一个GetValues接口和一个Query2接口。 Query2接口是一个简单的接口。 ......
语言 demo java

【基数排序算法详解】Java/Go/Python/JS/C不同语言实现

说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序的发明可以追溯到1887年赫尔曼·何乐礼在列表机(Tabulation ......
基数 算法 语言 Python Java

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现

【选择排序算法详解】Java/Go/Python/JS/C 不同语言实现 说明 选择排序(Selection Sort)是一种简单直观的排序算法。跟冒泡、插入排序一样,它将数列分为已排序和待排序两个区间。首先在待排序序列中找到最小(或最大)的元素,追加到已排序序列中,然后继续从待排序序列中寻找最小( ......
算法 语言 Python Java Go

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现

【桥接设计模式详解】Java/JS/Go/Python/TS不同语言实现 简介 桥接模式(Bridge Pattern)是一种结构型设计模式,它将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,来实现二者的解耦。参与桥接的接口是稳定的,用户可以扩展和修改桥接中的类,但是不能改变接口。 ......
设计模式 语言 模式 Python Java

【建造者设计模式详解】Java/JS/Go/Python/TS不同语言实现

简介 建造者模式(Builder Pattern),也叫生成器模式,属于创建型模式。它使用多个简单的对象一步一步构建成一个复杂的对象。它允许你使用相同的创建代码生成不同类型和形式的对象。 当你希望使用代码创建不同形式的产品 (例如各种商品和订单) 时, 一些基本部件不会变,而其组合经常变化的时候,就 ......
设计模式 语言 模式 Python Java

Go内存管理逃逸分析

1. 前言 所谓的逃逸分析(Escape analysis)是指由编译器决定内存分配的位置吗不需要程序员指定。 函数中申请一个新的对象 如果分配在栈中, 则函数执行结束后可自动将内存回收 如果分配在堆中, 则函数执行借宿可交给GC(垃圾回收)处理 有了逃逸分析,返回函数局部变量将变得可能,除此之外, ......
内存

Go构建遇到cgo动态库时解决方案

1. 问题 golang构建程序很简单,当遇到需要调用c库时,如通常使用 net,kafka, sqlite3 程序运行时就会调用当前服务器的 动态库,如果遇到没有库时,通常还需要 下载比如 alpine需要安装sqlite apk add --no-cache sqlite-libs sqlite ......
解决方案 方案 动态 cgo

AI来实现代码转换!Python转Java,Java转Go不在话下?

今天看到个有趣的网站,给大家分享一下。 该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go。这个时候用你Java的经验 + 这个工具,或许可以起到一定的帮助作用。 工具的使用也很简单,只需要在左侧黏贴你想转换的原始代 ......
不在话下 Java 代码 Python

使用go的并发性来解决Hilbert酒店问题

译自:Designing for Concurrency: the Hilbert’s Hotel Problem in Go,本文使用go的并发性来解决Hilbert酒店问题。本文比较有意思的是它对问题的描述很吸引人,在看完文字描述之后,代码实现逻辑也基本顺理成章,当然代码本身的实现也相当优雅。 ......
Hilbert 酒店 问题

为什么 Go 语言 struct 要使用 tags

原文链接:为什么 Go 语言 struct 要使用 tags 在 Go 语言中,struct 是一种常见的数据类型,它可以用来表示复杂的数据结构。在 struct 中,我们可以定义多个字段,每个字段可以有不同的类型和名称。 除了这些基本信息之外,Go 还提供了 struct tags,它可以用来指定 ......
语言 struct tags Go

kubernetes client-go功能介绍

原文地址 https://haiyux.cc/2023/02/26/k8s-client-go/ client-go是什么? client-go是Kubernetes官方提供的Go语言客户端库,用于与Kubernetes API服务器交互。使用client-go,您可以编写Go语言程序来创建、修改和 ......
kubernetes client-go 功能 client go

go语言面试

go面试 基础 = 和 := 的区别? **Go语言中,= 操作符用于赋值,而 := 操作符可以用于声明及赋值。 Go 语言支持短变量声明(针对局部变量),以 := 为标志,这里要注意的是,Go 语言中会优先选择 :=,而不是 =,但在赋值的情况下,两者的效果是相同的。 ** Go语言中, = 和  ......
语言

【Go并发编程】Goroutine的基本使用

goroutine是什么 goroutine即协程,使用go关键字开启一个协程异步执行代码。 注意,main函数也是个goroutine。 基本使用 使用go执行子任务,会交替执行(和时间片一样)。 主goroutine退出后,其它的工作goroutine也会自动退出(有点父子进程的感觉): pac ......
Goroutine

ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观

最近一段时间,我使用golang开发了一个新的ORM库。 为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用。于是... ......
客观 网友 python java ORM

为什么 Go 不支持 []T 转换为 []interface

在 Go 中,如果 interface{} 作为函数参数的话,是可以传任意参数的,然后通过类型断言来转换。 举个例子: package main import "fmt" func foo(v interface{}) { if v1, ok1 := v.(string); ok1 { fmt.Pr ......
interface Go

【Go并发编程】Go使用协程批量获取数据,加快接口返回速度

服务端经常需要返回一个列表,里面包含很多用户数据,常规做法当然是遍历然后读缓存。 使用Go语言后,可以并发获取,极大提升效率。 使用channel package main import ( "fmt" "time" ) func add2(a, b int, ch chan int) { c := ......
接口 速度 数据

Go读取yaml文件到struct类

1、yaml文件准备 common: secretid: AKIDxxxxx secretKey: 3xgGxxxx egion: ap-guangzhou zone: ap-guangzhou-7 InstanceChargeType: POSTPAID_BY_HOUR 2、config配置类准备 ......
文件 struct yaml

一文读懂Go Http Server原理

hello大家好呀,我是小楼,这是系列文《Go底层原理剖析》的第二篇,依旧是分析 Http 模块,话不多说,开始。 从一个 Demo 入手 俗话说万事开头难,但用 Go 实现一个 Http Server 真不难,简单到什么程度?起一个 Server,并且能响应请求,算上包名、导入的依赖,甚至空行,也 ......
原理 Server Http

PHP转Go实践:xjson解析神器「开源工具集」

前言 近期会更新一系列开源项目的文章,新的一年会和大家做更多的开源项目,也欢迎大家加入进来。 xutil 今天分享的文章源自于开源项目jinzaigo/xutil的封装。 在封装过程中,劲仔将实现原理以及相关实践思考,写成文章分享出来,从而汇总系列文章集合。 PHP转Go 我和劲仔都是PHP转Go, ......
神器 工具 xjson PHP

(16)go-micro微服务jaeger链路追踪

一 jaeger链路追踪介绍 什么是链路追踪: 分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等 链路追踪主要功能: 故障快速定位:可以通过调用链结合业务日志快速定位错误信息 链路性能可 ......
链路 go-micro jaeger micro go

(23)go-micro微服务客户端开发(使用负载均衡)

一 main.go开发 至此,咱们的项目服务端代码,已经开发完毕,现在来看一下main.go文件中的代码: package main import ( micro2 "account/common/micro" "account/config/logger" "account/config/mysq ......
客户端 go-micro 客户 micro go

Caddy-用Go写的新一代可扩展WebServer

前几天用 Netmaker 的时候发现它用 Caddy 替换掉了 Nginx,用了后发现确实简单好用,就安利一下。 Caddy 是一个强大的、可扩展的平台,用 Go 编写,可以为你的站点、服务和应用程序提供服务。如果你是 Caddy 的新手,你服务网络的方式将会改变。 引言 大多数人使用 Caddy ......
新一代 WebServer Caddy
共2205篇  :73/74页 首页上一页73下一页尾页