标签:GO语言
序 上一篇我们介绍了 k8s 的基本架构,我们在这篇文章将介绍 Kubernetes 关键组件和概念。 还是先来一张图: 根据上图我们分别对Deployment、ReplicaSet、Pod详细的介绍,其他的几个在上一篇也做了介绍: Deployment Deployment 是 Kuberne
1. 引言 I/O 操作在编程中扮演着至关重要的角色。它涉及程序与外部世界之间的数据交换,允许程序从外部,如键盘、文件、网络等地方读取数据,也能够将外界输入的数据重新写入到目标位置中。使得程序能够与外部环境进行数据交换、与用户进行交互、实现数据持久化和文件操作、进行网络通信等。因此,了解和掌握I/
介绍 在平时做项目得时候,经常会看到很多包里面定义了结构体。 e.g. 在context包里面Context接口中的Done()方法,Done()返回一个是以空结构体定义数据的通道chan struct{},那这里他是有什么特殊用意吗?我们接下来分析struct{}的作用。 struct{} 空结
序 Golang 中的结构或 struct 是用户定义的类型,允许将可能不同类型的项分组/组合为单一类型。 可以说是一个不支持继承但支持组合的轻量级类。 我们使用 Golang 编写代码的时候,你肯定使用过struct。 但是,你可能不知道的是,通过简单地重新排序结构中的字段,可以极大地提高 Go
​ 本文讨论了四种语言的异步,强调了它在创建高效、响应迅速的应用程序中的作用。 作为一名拥有多年主要使用 Java 工作经验的软件开发人员,当我最近为一个新项目切换到 Python 时,我发现自己很感兴趣。这种转变促使我探索各种语言的异步编程世界,包括 Java、Python、JavaScript
Go接口压测的第三方包,一个很好用的负载测试工具。vegeta测试工具组件(可执行文件)支持linux以及mac系统,这里指的是通过终端命令行进行进行测试,不需要从代码层面使用这个工具的时候支持linux以及mac系统,在windows上可能会出现问题。但是通过vegeta包代码执行的时候是可以在
原文链接: Go 语言 context 都能做什么? 很多 Go 项目的源码,在读的过程中会发现一个很常见的参数 ctx,而且基本都是作为函数的第一个参数。 为什么要这么写呢?这个参数到底有什么用呢?带着这样的疑问,我研究了这个参数背后的故事。 开局一张图: 核心是 Context 接口: //
一. 简介 本文将介绍 Go 语言中的 SectionReader,包括 SectionReader的基本使用方法、实现原理、使用注意事项。从而能够在合适的场景下,更好得使用SectionReader类型,提升程序的性能。 二. 问题引入 这里我们需要实现一个基本的HTTP文件服务器功能,可以处理
1、背景介绍 前两天,现场的同事使用开发的程序测试时,发现日志中报etcdserver: mvcc: database space exceeded,导致 etcd 无法连接。很奇怪,我们开发的程序只用到了 etcd 做程序的主备,并没有往 etcd 中写入大量的数据,为什么会造成 etcd 空间
一. 安装Go语言开发环境 1. Wondows下搭建Go开发环境 (1). 下载SDK工具包 sdk下载地址为:https://go.dev/dl/ (2). 解压下载的压缩包,放到特定的目录下,我一般放在d:/programs下(路径不能有中文或者特殊符号如空格等) (3). 配置环境变量
GO 语言中 chan 的理解 chan 的底层实现是怎么样的? chan 是 Go 语言中的一个关键字,用于实现并发通信。chan 可以用于在不同的 goroutine 之间传递数据,实现数据的同步和异步传输。 在底层实现上,chan 是通过一个结构体来表示的,这个结构体包含了一个指向数据的
今天讲讲怎么让golang程序生成coredump文件,并且进行调试的。 别看我写了不少golang的博客,其实我平时写c++的时间更多,所以也算和coredump是老相识了。core dump文件实际上是进程在某个时间点时的内存映像,当时进程使用的内存是啥样就会被原样保存下来存在文件系统的某个位
1. 引言 io.Copy 函数是一个非常好用的函数,能够非常方便得将数据进行拷贝。本文我们将从io.Copy 函数的基本定义出发,讲述其基本使用和实现原理,以及一些注意事项,基于此完成对io.Copy 函数的介绍。 2. 基本说明 2.1 基本定义 Copy函数用于将数据从源(io.Reader
最近在研究kratos的使用,发现在kratos run之前会先运行go generate ./...命令。 这个命令之前没怎么用过,所以决定学习下该命令的用法。 go generate是Go语言中的一个命令,用于在Go源代码中执行自定义的命令或脚本,以生成代码或执行其他必要的构建任务。 生成代码
1. 引言 当我们需要将数据一次性加载到内存中,ioutil.ReadAll 函数是一个方便的选择,但是ioutil.ReadAll 的使用是需要注意的。 在这篇文章中,我们将首先对ioutil.ReadAll函数进行基本介绍,之后会介绍其存在的问题,以及引起该问题的原因,最后给出了ioutil.
当声明枚举类型或定义一组相关常量时,Go语言中的iota关键字可以帮助我们简化代码并自动生成递增的值。本文档将详细介绍iota的用法和行为。 iota关键字 iota是Go语言中的一个预定义标识符,它用于创建自增的无类型整数常量。iota的行为类似于一个计数器,每次在常量声明中出现时自增一次。 基
1. 引言 io.LimitedReader 提供了一个有限的读取功能,能够手动设置最多从数据源最多读取的字节数。本文我们将从 io.LimitedReader 的基本定义出发,讲述其基本使用和实现原理,其次,再简单讲述下具体的使用场景,基于此来完成对io.LimitedReader 的介绍。 2
了解驱动Docker的核心技术将让您更深入地了解Docker的工作原理,并有助于您更有效地使用该平台。 Linux容器(LXC) Linux容器(LXC)是Docker的基础。 LXC是一种轻量级的虚拟化解决方案,允许多个隔离的Linux系统在单个主机上运行,无需全功能的虚拟化。 LXC有效地以安
1. 引言 io.discard是Go语言标准库提供一个结构体类型,其在丢弃不需要的数据场景下非常好用。本文我们将从io.discard 类型的基本定义出发,讲述其基本使用和实现原理,接着简单描述 io.discard 的使用场景,基于此完成对 io.discard 类型的介绍。 2. 介绍 2.