Go语言实现 ssh & scp

前言 最近遇到一个临时需求,需要将客户环境中一个服务每天的日志进行一系列复杂处理,并生成数据报表。由于数据处理逻辑复杂,且需要存入数据库,在客

Go语言 unsafe.Pointer 浅析

前言 在写 Go 的过程中,我们不免会使用指针,但是大多数情况下使用的是类型安全的指针,类型安全的指针有助于我们写出安全的代码,但是却有诸多限制,比

Go语言内存对齐详解

前言 前面有篇文章我们学习了 Go语言空结构体,最近又在看 unsafe包 的知识,在查阅相关资料时不免会看到内存对齐相关的内容,虽然感觉这类知识比

Go语言ioutil包详解

前言 Go语言 ioutil包中提供了一些常用、方便的IO操作函数,我们在平时的时候中可以直接拿来使用。对于IO读操作来说,比较适用于读小文件,

Go bufio.Reader 结构+源码详解 II

前言 上一篇文章 Go bufio.Reader 结构+源码详解 I,我们介绍了 bufio.Reader 的基本结构和运行原理,并介绍了如下几个重要方法: reset: 重置整个结构,相当于丢弃缓冲区的

Go bufio.Reader 结构+源码详解 I

前言 前面的两篇文章 Go 语言 bytes.Buffer 源码详解之1、Go 语言 bytes.Buffer 源码详解 2,我们介绍了 bytes.buffer,它是一个字节缓冲区,我们可以将数据先写到到

Go语言 空结构体详解

前言 在使用 Go 语言开发过程中,我们不免会定义结构体,但是我们定义的结构体都是有字段的,基本不会定义不包含字段的 空结构体。你可能会反过来问,没有

Go语言 Base64编码原理及使用

前言 在网络中传递参数时,我们经常会对参数进行Base64编码,那么Go 语言中如何进行Base64编码呢?Base64编码的原理是怎样的呢?通

Go 语言 bytes.Buffer 源码详解 2

前言 前面一篇文章 Go 语言 bytes.Buffer 源码详解之1,我们学习了 bytes.Buffer 的结构和基础方法,了解了缓冲区的运行机制,其中最重要的是要理解整个结构被分为了三段:已读数

Go 语言 bytes.Buffer 源码详解之1

前言 前面一篇文章 Go语言 strings.Reader 源码详解,我们对 strings 包中的 Reader 结构进行了详细的分析,今天我们来学习 bytes 包中的 Buffer结构。bytes包与string