Skip to main content

moregeek program

openapi 和 grpc 一起使用-多极客编程

花一些时间使用 OpenAPI 和 gRPC,您会发现这两种技术有很多共同点。两者都是开源成果,都描述了 API,并且都承诺为 API 生产者和消费者提供更好的体验。那么为什么我们需要两者呢?如果我们这样做,每个提供什么价值?每个项目可以从另一个项目中学到什么? 我们需要谈谈 API。 OpenAPI 和 gRPC 是构建网络 API的两种方法。引用Google API Design Guide

Read More

一文了解 go fmt 标准库输入函数的使用-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库输入函数的使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!fmt 输入函数函数描述Fscan(r io.Reader, a ...any) (n int, err error)从 r 中读取内容,以空格或换行符为分隔符,按顺序依次

Read More

一文了解 go fmt 标准库输出函数的使用-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库输出函数的使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!fmt 输出函数函数描述Fprint(w io.Writer, a ...any) (n int, err error)使用默认格式将参数写入到 w 中,如果相邻两个参数都

Read More

一文了解 go fmt 标准库的常用占位符及其简单使用-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是 Go fmt 标准库的常用占位符及其简单使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!占位符通过占位符,可以指定格式进行输入或输出,以下为 ​​fmt​​ 标准库里的占位符:普通占位符占位符描述举例结果%v默认格式的值fmt.Printf("%v"

Read More

一文掌握使用 go 标准库 sort 对切片进行排序-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 标准库 sort 对切片进行排序。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!sort 标准库Sort 标准库提供了对基本数据类型的切片和自定义类型的切片进行排序的函数,常用函数如下表所示:函数描述Ints(x []int)对 int 类型的

Read More

go 实现线性查找算法和二分查找算法-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容使用 Go 实现线性查找算法和二分查找算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!线性查找线性查找又称顺序查找,它是查找算法中最简单的一种。它的基本思想是在在一组数据中,从第一个元素开始,依次和预期值比较,直到和预期值相等,则查找成功,如果所有元素都

Read More

go语言性能剖析利器--pprof实战-多极客编程

作者:耿宗杰前言关于pprof的文章在网上已是汗牛充栋,却是千篇一律的命令介绍,鲜有真正实操的,本文将参考Go社区资料,结合自己的经验,实战Go程序的性能分析与优化过程。优化思路首先说一下性能优化的一般思路。系统性能的分析优化,一定是从大到小的步骤来进行的,即从业务架构的优化,到系统架构的优化,再到系统模块间的优化,最后到代码编写层面的优化。业务架构的优化是最具性价比的,技术难度相对较小,却可以带

Read More

go http 调用(下)-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是 Go HTTP 调用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言上篇文章 ​​Go HTTP 调用(上)​​​ 介绍了如何进行 HTTP 调用,并通过 GET 请求的例子,讲述了 ​​query​​​ 参数和 ​​header​​​ 参数如何设置

Read More

go http 调用(上)-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是 Go HTTP 调用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言无论是微服务还是单体架构等,服务间都有相互通信的时候,而最直接的通信方法就是 ​​HTTP​​​ 调用,本文将会介绍在 ​​Go​​​ 语言里,如何进行 ​​HTTP​​ 调用,并举

Read More

go 结构体与 json 之间的转换-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是 Go 结构体与 JSON 之间的转换。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言在日常开发中,我们往往会将 ​​JSON​​​ 解析成对应的结构体,反之也会将结构体或 ​​Map​​​ 数据转成 ​​JSON​​​。接下来本文会通过 ​​JSON

Read More

巧用 go map 特性对数组或切片去重-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是巧用 Go Map 特性对数组或切片进行去重。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言在其他语言里(如 ​​Java​​​ )使用过 ​​Set​​​ 集合的小伙伴都知道,它的一个特点就是集合里的元素是不重复的。在一些需要去重场景中,我们可以使用

Read More

go 实现插入排序-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 实现插入排序算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!插入排序插入排序是一种简单的排序算法,以数组为例,我们可以把数组看成是多个数组组成。插入排序的基本思想是往前面已排好序的数组中插入一个元素,组成一个新的数组,此数组依然有序。光看文

Read More

go 实现选择排序算法_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 实现选择排序算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!选择排序选择排序是一种简单的比较排序算法,它的算法思路是首先从数组中寻找最小(大)的元素,然后放到数组中的第一位,接下来继续从未排序的数组中寻找最小(大)元素,然后放到已排序数组的

Read More

只会用 go 写 o(n²) 的冒泡排序算法?来看看优化后最好情况下的 o(n) 算法吧_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的内容是使用 Go 实现冒泡排序算法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!冒泡排序冒泡排序是交换排序中最简单的一种算法。 算法思路:遍历数组,相邻的两个元素进行比较,以升序为例,如果前面的元素大于后面的元素,则将它们的位置进行交换第一轮遍历结束之后,最大

Read More

一文掌握 go 文件的写入操作_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go 文件的写入操作。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言上篇文章 ​​一文掌握 Go 文件的读取操作 ​​​ 介绍了如何使用 ​​Go​​​ ​​os​​​ 包和 ​​bufio​​ 包里的几个函数和方法,通过案例展示如何读取文件里的内容

Read More

一文掌握 go 文件的读取操作_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go 文件的读取操作。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!os 包 和 bufio 包Go 标准库的 ​​os​​ 包,为我们提供很多操作文件的函数,如 ​​Open(name)​​ 打开文件、​​Create(name)​​ 创建文件等函数,

Read More

一文了解 go 接口_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go 接口。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!接口在 ​​Go​​ 语言中,接口是一种抽象的类型,是一组方法的集合。接口存在的目的是定义规范,而规范的细节由其他对象去实现。我们来看一个例子:import "fmt"type Person st

Read More

一文初探 go reflect 包_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go reflect 包的基本使用。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!reflect 反射包针对反射,​​Go​​ 提供了 ​​reflect​​ 包,使用这个包里的函数可以在程序运行时获取和更新未知变量的值,操作未知变量的方法等。​refl

Read More

一文了解 go 方法_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go 方法。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言在前面的 ​​一文熟悉 Go 函数 ​​ 文章中,介绍了 Go 函数的声明,函数的几种形式如匿名函数、闭包、基于函数的自定义类型和函数参数详解等,而本文将对方法进行介绍,方法的本质就是函数,介

Read More

一文了解 go 标准库 strconv:string 与其他基本数据类型的转换_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go 标准库 —— strconv。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言上篇文章 ​​一文了解 Go 标准库 strings 常用函数和方法​​​ 介绍了 ​​strings​​​ 标注库里的一些常用的函数和方法,本文也是以 ​​strin

Read More