目录并发介绍goroutineruntime包信道channelGoroutine池定时器select并发安全和锁系统监控sync原子操作GMP原理与调度爬虫并发介绍进程和线程进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。线程是
目录go快速入门go基本概念基本数据类型常量变量运算符go快速入门Go语言简介Go语言,通常称为Golang,是由Google设计的一种静态类型、编译型的编程语言。它旨在提高开发者的生产力,简化并加速软件开发流程。Go语言具有以下特点:简洁性:Go语言语法简单,易于学习,没有
目录函数定义参数返回值匿名函数函数可变数量参数传参闭包递归延迟调用defer异常处理单元测试压力测试函数定义golang函数特点:无需声明原型。支持不定变参。支持多返回值。支持命名返回参数。支持匿名函数和闭包。函数也是一种类型,一
目录方法定义匿名字段方法集表达式errorGolang方法总是绑定对象实例,并隐式将实例作为第一实参(receiver)。只能为当前包内命名类型定义方法。参数receiver可任意命名。如方法中未曾使用,可省略参数名。参数receiver类型可以是T或*
目录匿名字段接口匿名字段go支持只提供类型而不写字段名的方式,也就是匿名字段,也称为嵌入字段packagemainimport"fmt"//人typePersonstruct{namestringsexstringagein
目录TCP编程UDP编程TCP黏包http编程webSocket编程Go实现web服务器Go实现web客户端Go实现DNS查询TCP编程//TCP服务端//tcp/server/main.go//处理函数funcprocess(connnet.Conn){
反射基础概念什么是反射?反射是一种在运行时检查和操作类型的机制。它允许程序动态地获取类型信息,并对对象进行操作。基本类型反射的基本类型包括:reflect.Type:表示类型信息。reflect.Value:表示值信息。获取类型信息使用reflect.TypeOfpackag
目录GCache分布式缓存GCacheGCache简介定义:GCache是一个高性能的内存缓存库,用于在Go语言中实现本地缓存功能。特点:高性能支持多种缓存策略简单易用安装GCachegoget-ugithub.com/patrickmn/go-cac
目录MelodyCentrifugoMelodyMelody是一个用Go语言编写的WebSocket服务器库,它提供了高性能且易于使用的接口来处理WebSocket连接。适用于构建实时应用如聊天室、在线协作工具等。安装Melody首先确保你的环境中已安装了Go语
目录fmttimeflaglogioencoding/jsonstrconvmathtemplatenet/httpcryptosynccontextbytes数据格式反射osmodulestringpath/filepathcompress/gzipd
目录RESTFulGraphQLRESTFulRESTfulAPI简介定义:一种软件架构风格,设计用于利用HTTP协议进行通信。特点:无状态:每次请求包含所有信息。客户端-服务器模式:分离了用户界面与数据管理功能。缓存:提高性能。分层系统:简化架构,支持中间组件。G
Goroutine简介定义:Goroutine是一种轻量级线程,由Go运行时管理。它比操作系统级别的线程更轻量,创建成本低,切换速度快。创建方式:通过go关键字启动一个新goroutine。gofunc(){fmt.Println("Hellofromgoroutine"
图和节点概念介绍图是由顶点集合和边集合组成的数据结构。节点即为图中的顶点,可以包含额外的信息如键值对。边连接两个节点,表示节点之间的关系。示例代码typeGraphstruct{adjListmap[int][]int}funcNewGraph()*Gra
Go内存池概念介绍内存池是一种用于管理内存分配的技术,通过预先分配一定数量的内存块,减少频繁的系统调用开销。Go语言内部也使用了类似的技术来优化内存分配。Go内存池实现Go语言中的内存池主要通过runtime包实现,具体来说,通过mcentral和mspan结构体来管理内
使用gotoolpprof进行性能分析什么是pprof?pprof是Go标准库的一部分,提供了多种方式来收集关于程序运行时的信息,如CPU使用情况、内存分配、线程创建等。如何使用pprof?启动服务端:gorunyour_program.go-http=:8080