Java程序员的Golang入门指南1.序言Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis、类Evernote的云笔记leanote等。1.1 为什么要学习如果有人说X语言比Y语言好,两方的支持者经常会激烈地争吵。如果你是某种语言老手,你就是那门语言的“传道者”,下意识地会保护它。无论承认与否,你都已被困在一个隧道里,你看到的完全是局限的。《肖申克的救赎》对此有很
转载
2024-02-04 00:40:19
19阅读
[golang] 变量声明和初始化 var, :=, new() 和 make()说明go语言中,提供了多种变量声明和初始化的方法。这里着重一一说明。并提供一个简单的指南。指南使用make(),来初始化slice,map 和channel 。大多数场合,类型明确的场合下,使用短变量声明方式:=。当使用文字方式初始化一个变量,并且需要指明类型时,使用var变量声明方式。避免使用new(),除非你需要
转载
2023-06-18 01:03:16
54阅读
选择排序:每一轮迭代选择出一个最小的数,然后做一次交换元素。不用像冒泡排序那样需要交换元素那么频繁。不过也是效率比较槽糕。原理介绍:{4,7,3,10,1,8,19}第一轮迭代,从第一个数开始,左边到右边进行扫描,找到最小的数 1,与数列里的第一个数交换位置。第二轮迭代,从第二个数开始,左边到右边进行扫描,找到第二小的数 3,与数列里的第二个数交换位置。第三轮迭代,从第三个数开始,左边到右边进行
原创
2022-12-02 15:46:18
61阅读
选择框架有以下几个主要的优点:提高开发效率:框架提供了一套规范和约定,简化了开发过程。它们通常包括常用功能的预置实现、可重用的组件和工具集,可以加速开发过程并减少代码量。通过使用框架,开发者可以更专注于业务逻辑,而无需从头开始编写所有的基础设施代码。标准化架构:框架通常采用一种特定的架构模式(如MVC、RESTful),这种标准化的架构可以帮助开发者更好地组织和管理代码。这有助于代码的可读性、可维
转载
2023-10-21 17:15:54
58阅读
golang实现选择排序
原创
2018-04-26 14:48:19
2831阅读
func simpleSelectionSort(unsorted []int, n int) {
var key, temp int
for i:=0; i<n; i++ {
原创
2017-11-01 11:09:39
690阅读
Golang(排序篇) —— 选择排序Golang(排序篇) —— 选择排序选择排序思想时间复杂度Golang代码参考链接关于作者Golang(排序篇) —— 选择排序选择排序思想在未排序序列中找到最小(大)元素,存放到排序序列的起始位
原创
2021-09-02 11:33:09
181阅读
Golang(排序篇) —— 选择排序Golang(排序篇) —— 选择排序选择排序思想时间复杂度Golang代码参考链接关于作者Golang(排序篇) —— 选择排序选择排序思想在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
原创
2022-01-15 18:12:23
344阅读
下面这段教程针对是你已经有一些基本的MQ的知识,比如说能够很清楚的理解queue、exchange等概念,如果你还不是很理解,我建议你先访问官网查看基本的教程。 文章目录1、造成死信队列的主要原因2、操作逻辑图3、代码实战3.1 针对原因1:消费者超出时间未应答3.3 针对原因2:限制一定的长度3.3 针对原因3:消费者拒绝的消息回到死信队列中 1、造成死信队列的主要原因消费者超时未应答队列的容量
转载
2024-07-01 09:56:05
248阅读
golang快速接入rocketmq 实现消息队列业务,让我们更新关注业务本身,各种客户端/sdk接入交给既有封装即可;
在web应用业务中,经常会遇到类似异步处理,秒杀,排队等逻辑,这时利用消息队列来完成这样的功能是一个明智的选择;在业务规模较小的应用中我们可以使用redis中的list数据类型,在大规模业务中我们可以引入rocketmq等,尤其在业务
转载
2024-02-13 13:29:23
182阅读
每一天,或者是每隔几天,总有人来到 /r/golang ,并询问些类似如下的问题“哪个框架是最好的?”。我认为我们应该尝试提出这个问题,至少以一种容易理解的方式提出。你不应该使用框架。对于一个复杂的问题,这也许是一个非常简洁的答案。这并不是说你任何时候都不应该使用框架。众所周知,当我们开发软件的时候,有这么一种趋势,慢慢形成适应通用开发的模式,并且一次又一次地加快开发同样的东西。它试着尽
为什么我要选择Erlang呢? 一、erlang特别适合中小团队创业: erlang有异常成熟、经过电信级别大规模验证的OTP应用库,只需要很简单的代码就能建立起异常稳定、容错性强、扩展性强、高并发的服务器框架,这也是erlang最宝贵的核心价值所在。 二、erlan
转载
2023-07-23 21:50:26
462阅读
# 使用Golang连接Redis数据库的步骤
## 1. 引言
在本篇文章中,我将向你详细介绍如何使用Golang连接Redis数据库。Redis是一个高性能的键值存储系统,通常用于缓存和临时存储数据。Golang是一种高效、易用的编程语言,它提供了丰富的库和工具来连接和操作各种数据库。
在下面的内容中,我将逐步向你介绍如何选择和连接Redis数据库,并提供相应的代码示例。
## 2. 连
原创
2023-12-26 09:30:33
37阅读
为什么选择golang语言?选择使用 Go 语言的原因有以下几点:并发性强:Go 语言内置的 Goroutine 和 Channel 模型使得并发编程变得简单和高效,使得 Go 语言可以轻松处理高并发的任务。内存管理:Go 语言的内存管理机制非常高效,使用了垃圾回收机制,可以自动管理内存,减少内存泄漏和内存溢出的问题。高效编译:Go 语言的编译速度非常快,可以快速地将代码编译成二进制文件,提高了开
原创
2023-03-28 20:16:40
128阅读
1、判断语句if 条件表达式没有括号 支持初始化表达式 初始化语句的变量自在本block内有效 2、循环语句for Go循环只有for关键字,没有while,但可以达到同样的效果 3、选择语句switch 条件语句可以使用任何类型或表达式,甚至不填 不需要写break,一旦条件符合自动终止,如果希望
原创
2024-08-15 11:58:22
27阅读
package randimport "math/rand"rand包实现了伪随机数生成器。常用随机数生成方法这里只介绍自己用到过的部分,更多函数/方法请参考标准库文档中文版rand.Seed:设置随机数种子func Seed(seed int64)使用给定的seed将默认资源初始化到一个确定的状态;如未调用Seed,默认资源的行为就好像调用了Seed(1)。 如果程序每次运行,随机数种子都相同,
转载
2024-01-08 13:52:43
94阅读
一、内存分配器
程序中的数据和变量都会被分配到程序所在的虚拟内存中,内存才能空间包含两个重要区域: 栈区(Stack)和堆区(Heap)。
函数调用的参数、返回值以及局部变量大都会被分配到栈上、这部分内存会有编译器进行管理。
不同编程语言使用不同方法管理堆区的内存,c++、等编程语言会由使用者主动申请和释放内存;
Go和Java等编程语言会由使用者和编译器共同管理
转载
2023-08-11 22:03:07
89阅读
基于select的多路复用:1.解决如果一个channel中没有事件发过来,程序会立即阻塞,无法接收到第二个channel中的事件2.一般每一个case都代表一个通信操作,多个case会选一个能执行的3.default会默认执行,因此可以作为轮询channel来用
原创
2021-06-17 19:13:51
274阅读
PHP微服务框架即“Micro Service Framework For PHP”,是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是Swoole的工程级企业应用框架,经受了Camera360亿级用户高并发大流量的考验。php-msf由Camera360服务器团队主导研发,会持续更新与维护,也希望有更多优秀的Swo
转载
2024-05-24 13:50:07
88阅读
对于golang一直存有觊觎之心,但一直苦于没有下定决心去学习研究,最近开始接触golang。就我个人来说,学习golang的原动力是因为想要站在java语言之外来审视java和其它语言的区别,再就是想瞻仰一下如此NB的语言。年前就想在2019年做一件事情,希望能从各个细节处做一次java和golang的对比分析,不评判语言的优劣,只想用简单的语言和可以随时执行的代码来表达出两者的区别和底
转载
2023-09-20 07:49:15
54阅读