首页
学习
活动
专区
工具
TVP
发布

灰子学技术

技术知识分享,包括Go语言,C++等语言层面,架构层面,设计模式等等……
专栏成员
196
文章
172605
阅读量
28
订阅数
Go语言==真的那么简单吗
笔者最近发现对于Go的struct在使用==的时候,有时候可以使用,有时候却不能使用,甚至编译出错。基于这个既定事实,笔者做了一次实现,便整理了这篇文章出来。
灰子学技术
2023-10-30
1250
Go之断言类型(assert type)
笔者最近在使用一个数据结构实现多个接口,但是却发现想要在一段时间内转换成接口1,另外一段时间转换成接口2,所以也就使用到了断言类型。在看过断言类型之后,觉得还是很有必要讲一讲这个断言类型,于是便有了这篇文章。
灰子学技术
2023-10-30
2360
Go小技巧:mac os里面同时支持高版本和低版本的go
开发的时候,往往会出现多个仓库使用的版本不一致,有的是低版本的,有的是高版本的,这两个版本对go的支持和fmt又不相同,而我们在开发的时候,就需要来回切换这个go的版本内容。(备注:这属于go工程使用的小技巧。)
灰子学技术
2023-10-30
6410
Go语言之条件编译
我们在开发的过程中,特别是在重构的过程中,往往会存在新代码和老代码同时都在的情况。这种情况下,我们希望可以编译不同的版本,旧代码编译的版本用来做产品发布,没有改好的新代码用来做测试,等测试通过之后,再把旧代码移除。
灰子学技术
2023-10-30
4730
Go语言之指针常见问题
对于指针来说,最常见也最容易让人产生混淆的便是,指针作为参数传递的时候,到底是复制了一份指针变量,还是类似于C++的引用一样,使用的是传入之前的指针变量?
灰子学技术
2023-10-30
1640
Go接口之nil != nil
从上面的输出结果来看,GetA()返回的类型为*A就算赋值为nil,也不等于nil。
灰子学技术
2023-10-30
1810
Go语言之可变参数函数
1.不输入参数;2.输入一个参数;3.输入多个参数;4.按照slice的方式输入。
灰子学技术
2023-10-30
1900
Go之一步步学习RabbitMQ(二)
写在前面的话:本篇文章主要来讲解,RabbitMQ的路由知识,在开始之前,笔者问了自己几个问题。笔者觉得一旦知道了这几个问题的答案,那么关于RabbitMQ的路由这部分知识基本上算是熟悉了,所以还希望大家带着这些问题来阅读本篇文章。
灰子学技术
2023-10-30
1800
Go之一步步学习RabbitMQ(一)
队列(queue):存在RabbitMQ中的邮筒,虽然消息是在应用程序和RabbitMQ中进行传递,但队列才是唯一能够存储消息的地方。队列的大小取决于宿主机器的内存和磁盘容量,它本质上是一个巨大的消息缓存池。多个生产者可以发送消息给同一个队列,多个消费者也可以从同一个队列中读取消息。这个队列有一个特点,先进先出。
灰子学技术
2023-10-30
1680
Go语言之带参数的main函数
本篇文章只用来讲解如何实现,一个带命令行的程序。对于这个功能的实现方法,有两种,一种是通过os包的os.Args来实现;另外一种通过flag包来实现。
灰子学技术
2023-10-30
5580
Go语言之性能测试相关(基准测试)
基准测试主要用来测试CPU和内存的效率问题,来评估被测代码的性能。测试人员可以根据这些性能指标的反馈,来优化我们的代码,进而提高性能问题。
灰子学技术
2023-10-30
2250
Go单元测试(二):stub和mock
对于我们平时开发的业务代码,单个函数往往不是独立的,它需要依赖于其他模块、第三方库、数据库、消息交互的结果等等。
灰子学技术
2023-10-30
5750
Go单元测试(一):基本用法
Go的单元测试比较容易实现,因为Go语言为我们提供了单元测试的框架。而对于单元测试的框架需要遵循下面的几条规定。
灰子学技术
2023-10-30
2280
Go并发之Context篇
前言介绍:在学习Go并发的时候,我们总是能够看到context,而这个context却只在go语言中存在。笔者在看到context的时候,便问了自己几个问题。
灰子学技术
2023-10-30
3480
Go并发(五):WaitGroup
对于Go的并发编程来说,主协程需要知道其他的协程何时结束。通常我们的做法是采用channel的方式来控制,这种做法很好,可以参见我的另外一个帖子(Go并发之channel篇:https://mp.weixin.qq.com/s/PIb-gGBootc6581pHhi5ew)。但是对于一些简单的协程控制来说,channel显得有些大材小用,而WaitGroup就可以派上用场了。
灰子学技术
2023-10-30
1650
Go并发之channel篇
学习channel的时候,笔者问了自己几个问题,个人觉得弄明白了这些问题,至少应该会使用channel了。本文也会从这些问题着手,来讲解channel。
灰子学技术
2023-10-30
2220
Go语言之goroutine的调度原理
在讲goroutine的调度原理之前,有些与操作系统相关的知识,我们需要先知道,例如:
灰子学技术
2023-10-30
3830
Go语言之数组/Slice篇
Go中的数组与C++中的数组含义并无不同,表示的都是具有相同唯一数据类型的一组已经编号并且长度固定的数组项序列。
灰子学技术
2023-10-30
1190
Go语言并发篇(一):之go语句篇
go 语句是Go语言中新增的关键字,用来实现 goroutine的这种并发操作,C++中并没有这种操作操作,C++中的并发操做采用的是多线程,而本作者觉得,go的这种原理其实于线程池是有些类似的。(备注关于C++的线程池部分,后续在做整理。)
灰子学技术
2023-10-30
1950
Go 语言之restful 基础
1.Go中Web服务的实现方式,采用Http库,主要用到了两个函数,HandleFunc和ListenAndServe,一个用来注册函数,一个用来监听端口并提供服务。
灰子学技术
2023-10-30
1040
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档