斜杠golang

golang深入理解指针

## Golang中的指针 指针的概念:指针地址,指针类型,指针取值 两个符号:*:根据地址取值,&:取地址 ## 关于指针 变量是用来存储数据的,变量的本质是给存储数据的内存地址起了一个好记的别名。 ```shell a:=1 //直接通过a这个变量来读取内存中保存的1这个值。在计算机底层a这个变 ......
指针 golang

Golang标准库之bytes介绍

本次主要介绍golang中的标准库`bytes`,基本上参考了 [字节 | bytes](https://cloud.tencent.com/developer/section/1140520) 、[Golang标准库——bytes](https://www.jianshu.com/p/e6f7f2 ......
标准 Golang bytes

golang 学习之 etcd protobuffer grpc 服务注册发现 go-micro

#1.etcd使用步骤 ####1)下载:https://github.com/etcd-io/etcd/releases/ ####2)配置环境变量 ####3)编辑local-cluster-profile文件:(利用goreman 启动方式,生产环境参考官方文档) ``` etcd1: etc ......
protobuffer go-micro golang micro etcd

golang的打点定时器

## 定时器 方式1:使用time.NewTicker(时间间隔)来设置定时器 ```go // 定时器, 定义一个1秒间隔的定时器 ticker := time.NewTicker(time.Second) n := 0 for i := range ticker.C { fmt.Println( ......
定时器 golang

trc golang 进程请求追踪包

trc 是一个方便的golang 进程请求追踪框架,可以提供方便的请求追踪查看 参考使用 代码来说官方示例,完整的可以查看官方 package main import ( "context" "fmt" "log" "math/rand" "net/http" "net/http/httptest" ......
进程 golang trc

markdown 表格里面插入反斜杠符号\

想要在一个表格里面显示反斜杠 |反斜杠|怎么写呢| | | | |\\ |\\\\后需要加一个空格| ![](https://img2023.cnblogs.com/blog/2530416/202306/2530416-20230602171421578-1765482583.png) ......
斜杠 符号 表格 markdown

golang实现设计模式之享元模式总结-代码、优缺点、适用场景

享元模式是一种结构型的设计模式,通过共享细粒度对象实现对象的复用,从而达到减少对象创建与销毁,减少内存消耗,其本质是本质是缓存共享对象,降低内存消耗。 享元模式的定义提出了两个要求,细粒度和共享对象。因为要求细粒度,所以不可避免地会使对象数量多且性质相近,此时我们就将这些对象的信息分为两个部分:内部 ......
模式 设计模式 优缺点 场景 代码

golang依赖注入工具digo

# golang依赖注入工具 digo工具地址:[https://github.com/werbenhu/digo](https://github.com/werbenhu/digo) ## 特性 - 使用注释中的注解 - 自动代码生成 - 自动检测循环依赖 - 编译时期依赖注入 - 自动初始化 - ......
工具 golang digo

从源码角度剖析 golang 如何fork一个进程

# 从源码角度剖析 golang 如何fork一个进程 创建一个新进程分为两个步骤,一个是fork系统调用,一个是execve 系统调用,fork调用会复用父进程的堆栈,而execve直接覆盖当前进程的堆栈,并且将下一条执行指令指向新的可执行文件。 在分析源码之前,我们先来看看golang fork ......
源码 进程 角度 golang fork

Golang 协程/线程/进程 区别以及 GMP 详解

# Golang 协程/线程/进程 区别详解 > 转载请注明来源:https://janrs.com/mffp *** # 概念 **进程** 每个进程都有自己的独立内存空间,拥有自己独立的地址空间、独立的堆和栈,既不共享堆,亦不共享栈。一个程序至少有一个进程,一个进程至少有一个线程。进程切换只发生 ......
线程 进程 Golang GMP

golang实现设计模式之构建者模式总结-代码、优缺点、适用场景

构建者模式也是一种创建型的设计模式,该模式将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的对象。大白话就是,构建者模式,从输出角度看依然是创建个对象实例,但是构建者模式更关注创建的细节,或者说一个对象的创建可以拆分为多个步骤,所有的步骤完成才创建出这个对象实例,而对于之前分享的工厂 ......
模式 设计模式 优缺点 场景 代码

Golang Slice:强大的动态数组数据结构

在编程世界中,数组是一种基本的数据结构,它允许我们存储相同类型的元素集合。Go语言中的数组具有固定的长度,这意味着一旦创建,它们的大小就无法改变。然而,Go语言提供了一种强大的内置数据结构,称为切片(slice),它克服了这个限制并提供了类似动态数组的功能。在本文中,我们将探讨Go语言中的切片概念, ......
数据结构 数组 结构 动态 数据

优雅实现golang默认参数

原生的golang中,函数定义不支持默认参数。但是在实际开发过程中,经常会有些参数用户可以不关心或者可以根据实际情况去定制实现,这个时候需要使用到默认参数,在C++中,函数的定义和实现本来就支持默认参数,如果需要在golang中实现默认参数,可以参考一下做法: package main import ......
参数 golang

golang vscode开发环境配置

1.下载go安装包并安装 [官网下载地址](https://go.dev/doc/install "官网下载地址") 2.下载vscode并安装 [官网下载地址](https://code.visualstudio.com/Download "官网下载地址") 3.安装vscode go语言开发扩展 ......
环境 golang vscode

golang实现设计模式之抽象工厂模式总结-代码、优缺点、适用场景

抽象工厂模式也是一种创建型的设计模式,其是在工厂模式的基础上实现更高程度的内聚。我们知道在工厂模式中,一种产品类就需要新建个对应的工厂类生成产品的实例,这会有什么问题呢? 虽然工厂模式解决了简单工厂模式不好扩展的问题,实现了OCP,但一种产品就需要新建一个工厂类,比如有10000种产品,是不是也是新 ......
模式 设计模式 优缺点 场景 工厂

golang实现设计模式之工厂模式总结-代码、优缺点、适用场景

工厂模式也是一种创建型模式,它与简单工厂不同的是将实例的创建推迟到具体的工厂类方法中实现,每一种产品生成一个对应的工厂,从而替换掉简单工厂方法模式中那个静态工厂方法。所以在工厂模式中,不同产品就由不同的工厂生产,每次增加产品时,我们就不需要在类似在简单工厂中,在统一的工厂类方法中修改,而是通过直接新 ......
模式 设计模式 优缺点 场景 工厂

Golang扫盲式学习——GO并发 | (一)

## 并发与并行😣 ### 并发与并行的概念和区别 并行:同一个时间段内多个任务同时在不同的CPU核心上执行。强调同一时刻多个任务之间的”**同时执行**“。 并发:同一个时间段内多个任务都在进展。强调多个任务间的”**交替执行**“。 ![](https://img2023.cnblogs.co ......
Golang

golang实现设计模式之简单工厂模式总结-代码、优缺点、适用场景

今天分享另外一种创建型类型的设计模式-简单工厂模式,简单工厂模式简单概括:客户端请求时,通过工厂类的创建接口,传入不同的参数,进而实现返回不同类的实例,可见运用简单工厂模式,是为了获取不同类的实例。 举个例子,有个工厂,生产不同的水果罐头,有代号01的黄桃罐头,代号02的荔枝罐头,代号03的苹果罐头 ......
模式 设计模式 优缺点 场景 工厂

Golang使用Gin-swagger搭建api

前提是安装好了go环境与vscode环境 并配置过了gin 项目结构 1、先安装swaggo依赖包 //1 go get "github.com/swaggo/files" //2 go get "github.com/swaggo/gin-swagger" //3 go get -u github ......
Gin-swagger swagger Golang Gin api

技术招聘漫谈 | 正在招Golang工程师的你,赶快收藏这份识人秘籍!

各位技术面试官,欢迎来到新一期的技术招聘漫谈专栏。 在前两期的专栏中,我们解析了前端工程师以及 Java 工程师 这两个常见技术岗位的招聘技巧。 今天,我们想把目光聚焦在一个前景与“钱”景都非常火热的岗位——Golang 开发工程师。《腾讯 2022 年度研发大数据报告》显示,Golang 连续两年 ......
秘籍 工程师 正在 Golang 工程

golang 结构体泛型

``` package main import "fmt" type students struct { Name string Age string } type teacher struct { Name string Phone string } type School interface { ......
结构 golang

golang实现设计模式之单例模式总结-代码、优缺点、适用场景

在日常业务开发中,适当应用设计模式,可以实现我们的业务需求,例如全局唯一配置,这里就需要用到单例模式。 什么情况下,我们可以使用单例模式呢? 这得考虑该模式的适用场景: * 用来控制类型实例的数量的,当需要确保一个类型只有一个实例 ### 单例模式的适用场景: * 1.统计当前在线人数(网站计数器) ......
模式 设计模式 优缺点 场景 代码

一次折腾 Golang 泛型、反射和 gorm 框架的记录

事情的起初是一个很常见的需求:批量更新多条记录的相同字段,每条记录对应的字段值不同因此无法批量 Update。看着没啥难度却没想到从开头到结束整整花了一天的时间,遂有此文。 首先尝试了 gorm 自带的 `Save()`,按理说 gorm 本身会自动识别零值不去更新,这样直接创建一个实例数组挨个赋值 ......
框架 Golang gorm

Golang中好用的三方工具包lancet使用

项目地址 lancet源码项目地址 123 123 ......
工具包 三方 工具 Golang lancet

Golang - LevelDB是什么?为什么需要K-V存储?

一、介绍 https://github.com/syndtr/goleveldb LevelDB 是一个由 Google 公司所研发的 K-V 存储嵌入式数据库管理系统编程库,以开源的 BSD 许可证发布。其作为 LSM Tree 的经典实现,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般 ......
LevelDB Golang K-V

Golang入门笔记

## 第一个Go程序 ```go package main //包,表明代码所在的模块(包) import "fmt" //引入代码依赖 //功能实现 func main(){ fmt.Println("Hello World"); } ``` 编译执行 ```bash ➜ go-example g ......
笔记 Golang

golang踩坑:slice传参和for range赋值和goroutine闭包

一、slice的坑 案例: 查看以下代码会输出啥? func main() { a := []int{7,8,9} fmt.Printf("len: %d cap:%d data:%+v\n", len(a), cap(a), a) ap(a) fmt.Printf("len: %d cap:%d ......
闭包 goroutine golang slice range

Golang GIN 接收结构体切片(前端对象数组)

想接收前端这样的数据格式:【json数组】 [ { "password": "casso", "mobile": "13456789999", "nick_name": "go", "icon": "地址" }, { "password": "casso", "mobile": "134567899 ......
数组 前端 对象 结构 Golang

Golang环境——GOPATH vs go.mod

GOPATH在本文中,我们将探讨 Go 编程的传统环境与基础环境之间的差异go.mod。 这种区别对 Go 开发人员如何构建和管理他们的项目工作区和依赖项具有重要意义。 我们将从了解GOPATH环境、它的组织和结构开始。然后,我们将探讨go.mod采用这种方法来提供模块化和灵活的方式来组织 Go 项 ......
环境 Golang GOPATH mod vs

golang使用gorm框架执行原生sql

gorm框架执行原生sql有两种方式,作用不同,分别是: db.exec("sql语句") //执行插入删除等操作使用 db.raw("sql语句") //执行查询操作时使用 举例: db.Exec("UPDATE orders SET shipped_at=? WHERE id IN (?)", ......
框架 golang gorm sql