标签:GOLANG
Go 语言之 zap 日志库简单使用 默认的 Go log log:https://pkg.go.dev/log package main import ( "log" "os" ) func init() { log.SetPrefix("LOG: ") // 设置前缀 f, er
Go Redis 管道和事务之 go-redis Go Redis 管道和事务官方文档介绍 Redis pipelines(管道) 允许一次性发送多个命令来提高性能,go-redis支持同样的操作, 你可以使用go-redis一次性发送多个命令到服务器,并一次读取返回结果,而不是一个个命令的操作。
Go语言之 go-redis 基本使用 Redis 介绍 Redis:https://redis.io/ Redis 中文网:https://www.redis.net.cn/ REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的ke
1. 跳出/执行下一次循环。 {标签名}: for true { ... for true { ... break/continue {标签名} //默认不加标签,则跳出最近一层循环。加了标签可以跳出标签定义处所在循环 } } 2. map的使用注
Go 语言之在 gin 框架中使用 zap 日志库 gin 框架默认使用的是自带的日志 gin.Default()的源码 Logger(), Recovery() func Default() *Engine { debugPrintWARNINGDefault() engine := New
Go 语言之自定义 zap 日志 zap 日志:https://github.com/uber-go/zap 一、日志写入文件 zap.NewProduction、zap.NewDevelopment 是预设配置好的。 zap.New 可自定义配置 zap.New源码 这是构造Logger最灵活的
1. 引言 接口是一种定义了软件组件之间交互规范的重要概念,其促进了代码的解耦、模块化和可扩展性,提供了多态性和抽象的能力,简化了依赖管理和替换,方便进行单元测试和集成测试。这些特性使得接口成为构建可靠、可维护和可扩展的软件系统的关键工具之一。 在现代编程语言中,接口是不可或缺的一个重要特性。本文
Go 语言之 Viper 的使用 Viper 介绍 Viper:https://github.com/spf13/viper 安装 go get github.com/spf13/viper Viper 是什么? Viper 是一个针对 Go 应用程序的完整配置解决方案,包括12-Factor
1. 引言 在并发编程中,多个协程同时访问和修改共享数据时,如果没有使用适当的机制来防止并发问题,这个时候可能导致不确定的结果、数据不一致性、逻辑错误等严重后果。 而原子操作是解决并发编程中共享数据访问问题的一种常见机制。因此接下来的文章内容将深入介绍原子操作的原理、用法以及在解决并发问题中的应
一、约定大于配置 泰思勒定律也被称为复杂度守恒定律。该定律指出每一个过程都有其固有的复杂性,存在一个临界点,超过了这个点过程就不能再简化了,你只能将固有的复杂性从一个地方移动到另外一个地方。 根据这个定律,在做系统设计时,默认会给用户一个“套餐”,这个套餐会满足多数人的需求。实在不满足需求再特殊配
1. 引言 函数是编程中不可或缺的组成部分,无论是在Go语言还是其他编程语言中,函数都扮演着重要的角色。函数能够将一系列的操作封装在一起,使得代码更加模块化、可重用和易于维护。 在本文中,我们将详细介绍Go语言中函数的概念和使用方法,包括函数的定义、参数和返回值、调用方式、可变参数、函数作为参数和
1. 引言 良好设计的函数具有清晰的职责和逻辑结构,提供准确的命名和适当的参数控制。它们促进代码复用、支持团队协作,降低维护成本,并提供可测试的代码基础。通过遵循最佳实践,我们能够编写出高质量、可读性强的代码,从而提高开发效率和软件质量。下面我们将一一描述函数设计时能够遵循的最佳实践。 2. 遵循
一、简单演示      与C指针类似     1)指针变量存的是一个地址,地址指向的空间存的才是值   2)获取指针类型所指向的值,使用  *    二、使用细节 1)值类型,都有对应的指针类型,形式为*数据类型,比如int的对应指针就是*int 2)值类型包括:基本数据类型int系列,float
一、变量的声明方式(三种)   1、var a int = num   2、var a = num   3、a := num 二、字符类型使用细节   *Golang的字符使用UTF-8.   英文 -1 字节;汉字-3个字节   1、字符常量用单引号括起来。   eg: var c1 byte=
前言 最近做的项目对安全性要求比较高,特别强调:系统不能涉及MD5、SHA1、RSA1024、DES高风险算法。 那用什么嘞?甲方:建议用国产密码算法SM4。 擅长敏捷开发(CV大法)的我,先去GitHub找了开源项目、又去网络上找了一些教程,但是或多或少都有些问题: 比如golang.org
1. 引言 无论是在Go语言还是其他编程语言中,匿名函数都扮演着重要的角色。在本文中,我们将详细介绍Go语言中匿名函数的概念和使用方法,同时也提供一些考虑因素,从而帮助在匿名函数和命名函数间做出选择。 2. 基本定义 匿名函数是一种没有函数名的函数。它是在代码中直接定义的函数,没有被分配一个显式的
Kubernetes 概述 当下,我们很多项目于都在Cloud Native(云原生)的上面,这种方法旨在使组织能够确保可用性并快速响应和适应变化,云原生其实就是一组本质上支持在不同云环境(公共云、私有云或混合云)上大规模构建、运行和管理应用程序的实践和技术。 云原生离不开两个概念:容器和微服务,
原文在这里。 原文发布于2023年2月8日 在构建Go二进制文件时,Go编译器会进行优化,以尽可能生成性能最佳的二进制文件。例如,常量传播可以在编译时对常量表达式进行求值,避免了运行时的计算开销;逃逸分析可以避免对局部作用域对象进行堆分配,从而减少了垃圾回收的负担;内联则将简单函数的代码体复制
序 前面介绍了k8s组件和对象的一些基本概念,了解了k8s具体是做什么的以及架构,那么接下来我们开始介绍怎么去安装k8s,这里我们以windows为例,其他平台可以参考Kubernetes官方文档,其实安装方式都是类似的。 先决条件 要在系统中安装 Kubernetes,以下是一些需要特别注意的先