- 双端队列 DequeDeque,即双端队列,是一个可以扩展的容器。扩展可以发生在容器的前面或后面。当队列的顶部或尾部需要经常被引用时,经常使用双端队列。Go 官网有一个双端队列的实现,官方地址点此处。下面的代码块显示了 Go 双端队列 deque 的使用:package mainimport ( "fmt" "github.com/gammazero/deque")func main() ... 双端队列 DequeDeque,即双端队列,是一个可以扩展的容器。扩展可以发生在容器的前面或后面。当队列的顶部或尾部需要经常被引用时,经常使用双端队列。Go 官网有一个双端队列的实现,官方地址点此处。下面的代码块显示了 Go 双端队列 deque 的使用:package mainimport ( "fmt" "github.com/gammazero/deque")func main() ...
- 在 Java 的核心库中,集合框架可谓鼎鼎大名:Array 、List、Set、Queue、HashMap 等等,随便拎一个出来都值得开发者好好学习如何使用甚至是背后的设计源码(这类文章也挺多,大家上网随便一搜)。虽然 Go 语言没有如此丰富的容器类型。 序列容器序列容器存储特定类型的数据元素。目前有 5 种序列容器的实现:arrayvectordequelistforward_list这些... 在 Java 的核心库中,集合框架可谓鼎鼎大名:Array 、List、Set、Queue、HashMap 等等,随便拎一个出来都值得开发者好好学习如何使用甚至是背后的设计源码(这类文章也挺多,大家上网随便一搜)。虽然 Go 语言没有如此丰富的容器类型。 序列容器序列容器存储特定类型的数据元素。目前有 5 种序列容器的实现:arrayvectordequelistforward_list这些...
- 0 生活案例沙师弟 : “大师兄,车是怎么建成的啊?”大师兄:“从外部看,车由车身、座椅和轮胎,从内部又有引擎、方向盘、电路系统、刹车系统、冷却系统等等组成,这些复杂的部件一般都不是一个厂商来完成的,而是将这些交付给汽车零部件制造商。不同的生产商来最终完成不同部件的生产,采购完整个零部件,最后在车间完成整个组装。”汽车这个复杂的对象就可以通过建造者模式来将部件和组装过程分开,帮我们快速完成汽... 0 生活案例沙师弟 : “大师兄,车是怎么建成的啊?”大师兄:“从外部看,车由车身、座椅和轮胎,从内部又有引擎、方向盘、电路系统、刹车系统、冷却系统等等组成,这些复杂的部件一般都不是一个厂商来完成的,而是将这些交付给汽车零部件制造商。不同的生产商来最终完成不同部件的生产,采购完整个零部件,最后在车间完成整个组装。”汽车这个复杂的对象就可以通过建造者模式来将部件和组装过程分开,帮我们快速完成汽...
- 协程(coroutine)是 Go 语言最大的特色之一,goroutine 的实现其实是通过协程。 协程的概念协程一词最早出现在 1963 年发表的论文中,该论文的作者为美国计算机科学家 Melvin E.Conway。著名的康威定律:“设计系统的架构受制于产生这些设计的组织的沟通结构。” 也是这个作者。协程是一种用户态的轻量级线程,可以想成一个线程里面可以有多个协程,而协程的调度完全由用户... 协程(coroutine)是 Go 语言最大的特色之一,goroutine 的实现其实是通过协程。 协程的概念协程一词最早出现在 1963 年发表的论文中,该论文的作者为美国计算机科学家 Melvin E.Conway。著名的康威定律:“设计系统的架构受制于产生这些设计的组织的沟通结构。” 也是这个作者。协程是一种用户态的轻量级线程,可以想成一个线程里面可以有多个协程,而协程的调度完全由用户...
- Vigenere 加密算法该密码由意大利密码学家 Giovan Battista Bellaso 于 1553 年发明,但几个世纪以来一直归功于 16 世纪的法国密码学家 Blaise de Vigenère,他在 1586 年设计了类似的密码。Vigenere Cipher 是一种加密字母文本的方法。它使用一种简单的多字母表替换形式。多字母密码是基于替换的任何密码,使用多个替换字母表。原... Vigenere 加密算法该密码由意大利密码学家 Giovan Battista Bellaso 于 1553 年发明,但几个世纪以来一直归功于 16 世纪的法国密码学家 Blaise de Vigenère,他在 1586 年设计了类似的密码。Vigenere Cipher 是一种加密字母文本的方法。它使用一种简单的多字母表替换形式。多字母密码是基于替换的任何密码,使用多个替换字母表。原...
- 介绍go-restful 是一个用于在 go 中构建 RESTful web 服务的包。开源地址点此处,REST 要求开发人员遵循一组设计协议。使用 go-restful,我们可以分离 API 处理程序的逻辑并附加 REST 谓词。这样做的好处是,它通过查看代码清楚地告诉我们正在创建什么样的 API。在进入示例之前,我们需要使用 go-restful 为 RESTAPI 安装一个名为 SQL... 介绍go-restful 是一个用于在 go 中构建 RESTful web 服务的包。开源地址点此处,REST 要求开发人员遵循一组设计协议。使用 go-restful,我们可以分离 API 处理程序的逻辑并附加 REST 谓词。这样做的好处是,它通过查看代码清楚地告诉我们正在创建什么样的 API。在进入示例之前,我们需要使用 go-restful 为 RESTAPI 安装一个名为 SQL...
- 前言时至今日,如果你想当一名程序员,入门学习编程。你有众多的开发语言可以选择,从 Tiobe 编程语言趋势版可以看到,比较流行的有:Python、C、C++、Java、C#、JavaScript、SQL、Swift...做选择从来不是容易的事情,所以你可能会问,我该学哪一门语言?在我们问自己该学哪一门语言之前,不如再往前追问一句:为啥会有这么多语言?其实,每一门语言被设计出来都是有原因的,都... 前言时至今日,如果你想当一名程序员,入门学习编程。你有众多的开发语言可以选择,从 Tiobe 编程语言趋势版可以看到,比较流行的有:Python、C、C++、Java、C#、JavaScript、SQL、Swift...做选择从来不是容易的事情,所以你可能会问,我该学哪一门语言?在我们问自己该学哪一门语言之前,不如再往前追问一句:为啥会有这么多语言?其实,每一门语言被设计出来都是有原因的,都...
- 变量Go 语言不再像 C 和 Java 那样使用分号 “;” 作为程序语句的结尾。我们可以直接使用如下语法规则:syntax_code1syntax_code2syntax_code3复制代码什么是变量变量可以从两个角度来理解:可以改变的量,赋值一次还可以随意更改使用多变,可以一次定义,多次使用变量是指一个包含部分已知或未知数值或信息(即一个值)的存储地址,变量一般具有特定类型和关联名称。p... 变量Go 语言不再像 C 和 Java 那样使用分号 “;” 作为程序语句的结尾。我们可以直接使用如下语法规则:syntax_code1syntax_code2syntax_code3复制代码什么是变量变量可以从两个角度来理解:可以改变的量,赋值一次还可以随意更改使用多变,可以一次定义,多次使用变量是指一个包含部分已知或未知数值或信息(即一个值)的存储地址,变量一般具有特定类型和关联名称。p...
- 前言上一篇文章中,我们学会了变量与常量,为了让我们的程序更加贴近实际生活,有时候我们需要做决定。Go 提供了如下三种控制结构:if/else 语句switch 语句for 语句假设我们需要打印 1-5 的五个数,基于前面所学的知识,可能会写出如下的代码:package mainimport "fmt"func main() { fmt.Println(1) fmt.Println... 前言上一篇文章中,我们学会了变量与常量,为了让我们的程序更加贴近实际生活,有时候我们需要做决定。Go 提供了如下三种控制结构:if/else 语句switch 语句for 语句假设我们需要打印 1-5 的五个数,基于前面所学的知识,可能会写出如下的代码:package mainimport "fmt"func main() { fmt.Println(1) fmt.Println...
- Go 现在都支持泛型了,我们该怎么利用泛型的特点。利用类型参数来写出真实世界的代码。泛型在实际中有什么用途呢?在没有泛型之前 Go 不能实现什么样的代码?Go 切片 Slice我们先来看一下切片,切片在 Go 中并不是简单的数组,而是一个结构体,其定义如下:type slice struct { array unsafe.Pointer // 指向存放数据的数组指针 len int //... Go 现在都支持泛型了,我们该怎么利用泛型的特点。利用类型参数来写出真实世界的代码。泛型在实际中有什么用途呢?在没有泛型之前 Go 不能实现什么样的代码?Go 切片 Slice我们先来看一下切片,切片在 Go 中并不是简单的数组,而是一个结构体,其定义如下:type slice struct { array unsafe.Pointer // 指向存放数据的数组指针 len int //...
- 什么是 Go 中的一等函数任何一门编程语言都离不开函数,无论是命令式语言 C、多范式编程语言 C++,还是面向对象编程语言 Java、Ruby,动态语言 Python、JavaScript,函数这一语法元素都是当仁不让的核心。Go 语言没有面向对象语言的语法,比如类 、继承、对象,但 Go 语言中最重要的部分就是支持一等函数。在 Go 语言中,函数式唯一一种基于特定输入、实现特定任务并可反馈... 什么是 Go 中的一等函数任何一门编程语言都离不开函数,无论是命令式语言 C、多范式编程语言 C++,还是面向对象编程语言 Java、Ruby,动态语言 Python、JavaScript,函数这一语法元素都是当仁不让的核心。Go 语言没有面向对象语言的语法,比如类 、继承、对象,但 Go 语言中最重要的部分就是支持一等函数。在 Go 语言中,函数式唯一一种基于特定输入、实现特定任务并可反馈...
- Python 中的 reverse 函数Go 语言不像其他语言如 Python,有着内置的 reverse() 函数,先来看一下 Python 中对于列表的反转方法,然后我们再来学习如果在 Go 语言中实现相同的功能。>>> myList = [2022, 2021, 2008, 2012]>>> myList.reverse()>>> print("Reversed List:", myL... Python 中的 reverse 函数Go 语言不像其他语言如 Python,有着内置的 reverse() 函数,先来看一下 Python 中对于列表的反转方法,然后我们再来学习如果在 Go 语言中实现相同的功能。>>> myList = [2022, 2021, 2008, 2012]>>> myList.reverse()>>> print("Reversed List:", myL...
- 本文将介绍 Go 中的错误处理,以及为什么我们需要错误处理。什么是错误处理异常处理是任何语言都不能绕不开的话题。Go 语言没有提供传统的 try...catch 语句来处理异常,而是通过使用 error 来处理错误,用 panic 和 recover 来处理异常。错误封装是将一个错误包裹到另一个错误的过程。假设我们有一个访问数据库的 Web 服务器,并试图从数据库中获取一条记录。如果数据库调... 本文将介绍 Go 中的错误处理,以及为什么我们需要错误处理。什么是错误处理异常处理是任何语言都不能绕不开的话题。Go 语言没有提供传统的 try...catch 语句来处理异常,而是通过使用 error 来处理错误,用 panic 和 recover 来处理异常。错误封装是将一个错误包裹到另一个错误的过程。假设我们有一个访问数据库的 Web 服务器,并试图从数据库中获取一条记录。如果数据库调...
- 单例模式的概念单例模式很容易记住。就像名称一样,它只能提供对象的单一实例,保证一个类只有一个实例,并提供一个全局访问该实例的方法。在第一次调用该实例时被创建,然后在应用程序中需要使用该特定行为的所有部分之间重复使用。单例模式结构单例模式的使用场景你会在许多不同的情况下使用单例模式。比如:当你想使用同一个数据库连接来进行每次查询时当你打开一个安全 Shell(SSH)连接到一个服务器来做一些任... 单例模式的概念单例模式很容易记住。就像名称一样,它只能提供对象的单一实例,保证一个类只有一个实例,并提供一个全局访问该实例的方法。在第一次调用该实例时被创建,然后在应用程序中需要使用该特定行为的所有部分之间重复使用。单例模式结构单例模式的使用场景你会在许多不同的情况下使用单例模式。比如:当你想使用同一个数据库连接来进行每次查询时当你打开一个安全 Shell(SSH)连接到一个服务器来做一些任...
- 我的语言之局限,即我的世界之局限。 —— Ludwig Wittgenstein(1889-1951)设计模式的概念模式是在特定环境下人们解决某种重复出现问题的一套成功有效的解决方案。设计模式(Design Pattern)是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图,可用于解决代码中反复出现的设计问题。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的代码... 我的语言之局限,即我的世界之局限。 —— Ludwig Wittgenstein(1889-1951)设计模式的概念模式是在特定环境下人们解决某种重复出现问题的一套成功有效的解决方案。设计模式(Design Pattern)是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图,可用于解决代码中反复出现的设计问题。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的代码...
上滑加载中
推荐直播
-
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
2025/01/10 周五 15:30-17:30
MindStudio布道师
算子工具性能优化新特性演示——MatMulLeakyRelu性能调优实操
即将直播 -
用代码全方位驱动 OBS 存储
2025/01/14 周二 16:30-18:00
阿肯 华为云生态技术讲师
如何用代码驱动OBS?常用的数据管理,对象清理,多版本对象访问等应该如何编码?本期课程一一演示解答。
即将直播
热门标签