首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
gostudy
ysj
创建于2021-12-05
订阅专栏
golang学习笔记
等 4 人订阅
共18篇文章
创建于2021-12-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
golang协程设计与调度原理
协程设计-GMP模型 线程是操作系统调度到CPU中执行的基本单位,多线程总是交替式地抢占CPU的时间片,线程在上下文的切换过程中需要经过操作系统用户态与内核态的切换。golang的协程(G)依然运行在
golang协程与线程简要区别
进程与线程 进程是操作系统资源分配的基本单位,是程序运行的实例。例如打开一个浏览器就开启了一个进程。 线程是操作系统调度到CPU中执行的基本单位。例如在浏览器里新建一个窗口就需要一个线程来进行处理。
golang切片原理
切片的解析 当我们的代码敲下[]时,便会被go编译器解析为抽象语法树上的切片节点, 被初始化为切片表达式SliceType: 编译时切片定义为Slice结构体,属性只包含同一类型的元素Elem,编译时
golang数组原理
编译时数组类型解析 ArrayType 数组是内存中一片连续的区域,在声明时需要指定长度,数组的声明有如下三种方式,[...]的方式在编译时会自动推断长度。 在词法及语法解析时,上述三种方式声明的数组
golang字符串的本质与原理
字符串的本质 字符串的定义 golang中的字符(character)串指的是所有8比特位字节字符串的集合,通常(非必须)是UTF-8 编码的文本。 字符串可以为空,但不能是nil。 字符串在编译时即
golang类型推断与隐式类型转换
前言 golang类型推断可以省略类型,像写动态语言代码一样,让编程变得更加简单,同时也保留了静态类型的安全性。 类型推断往往也伴随着类型的隐式转换,二者均与golang的编译器有关。在了解了gola
golang快速拷贝数据值—gocopy使用介绍
copier 在日常开发中,我们时常需要将一个变量的值快速应用到另一个变量上,动态语言往往都有相应的语法让开发人员快速进行上述操作,例如python中将一个dict(d1)的key:value解包给到
go语言操作mongodb
最近学习在go中操作mongodb,了解到主要有第三方mgo和官方mongo-driver两个库使用最多。mgo已经停止维护了,因此选择了mongo-driver。本文记录一些常用的代码操作笔记,以备随时查阅。 直接Connect的同时获得一个客户端实例。 通常使用第二种方法,…
go语言操作redis
本文记录了在GO语言中redis的基本操作。常用的操作库有redigo和go-redis两个,目前github上go-redis星星数略胜一筹,所以选择后者,记录其基本命令在go中的使用。 详见下文消息队列。 日常开发中,我们可以通过redis的List类型,调用其阻塞或非阻塞…
go语言操作mysql
go语言的标准库database/sql提供了操作关系型数据库的通用方法,它是对数据库接口的抽象和封装,必须配合数据库驱动使用。因此要实现数据库操作,代码中需要引入两个包——一个是面向用户操作层面的database/sql,一个是数据库驱动层面的go-sql-driver/my…
GO程序中的时区问题
此前一直觉得时区就是个小问题,并没有特意去注意过。直到在最近的工作中,反而因为时区的问题搞得我迷迷糊糊的。几番碰壁后,决定亲自探究下程序中的时间类型在存储、读取与比较中到底具有怎样的行为。本文以GO语言和mysql作为示例,不熟悉GO的朋友可以直接跳至结论,思考下在自己熟悉的语…
极简示例golang并发三坑
我们经常会遇到一些耗时的任务,然后又需要拿到任务处理后的结果作进一步处理, 在go语言中首先想到的莫过于goroutine加等待组wg的方式来并发处理加快效率。尽管在go中写并发程序已经足够简单了,但
nsqadmin之nginx代理配置
使用nsq消息队列后,在本地可以直接通过访问 http://localhost:4171 看到管理界面。但是生产环境中,不能直接对外暴露服务器4171端口,这时候需要配置nginx代理。
NSQv1.2.0中文文档
nsq是go语言写的消息队列库,目前最新稳定版为1.2.0。在学习nsq的过程中,顺便将nsq的官方文档翻译为了中文,下面内容是文档目录,共五个部分(除去最后一个链接部分,实质只有四个),点击可跳转至相应的翻译内容。由于本人英语水平很有限,翻译有误的地方,本人概不负责 请以官方…
NSQ之部署
请参阅有关使用Docker部署NSQ的文档。 NSQ使用go模块生成可靠的版本。 尽管nsqd可以作为独立节点运行,但这些说明假定您想利用其设计的分布式特性。 nsqd 是接收,缓冲和传递消息到客户端的守护程序。 所有配置均通过命令行参数进行管理。我们力求使得默认配置适合大多数…
NSQ之客户端
该表中的信息是否过时?您是否在生产中使用这些客户端库之一?在邮件列表或Twitter @ imsnakes / @ jehiah上告诉我们。 NSQ的设计将很多责任推给了客户端库,以维持整个集群的健壮性和性能。 本指南试图概述行为良好的客户端库需要履行的各种职责。因为发布到ns…
NSQ之组件
nsqd 是接收消息,形成消息队列并将消息传递到客户端的守护进程。 它可以独立运行,但通常在具有nsqlookupd 实例的集群中配置(在这种情况下,它将声明主题和通道用以服务发现)。 它侦听两个TCP端口,一个侦听客户端,另一个侦听HTTP API。也可以选择在第三个端口上侦…
NSQ之概览
下述步骤将在你的本地机器上运行一个小型NSQ集群,贯穿了消息的发布、消费以及归档至磁盘。 为了验证上述工作是否如预期进行,可以打开浏览器地址http://127.0.0.1:4171/ 通过nsqadminUI界面查看统计信息。当然,你也可以检查写到/tmp目录下的日志文件(t…