涣清博客
涣清博客
涣清博客
涣清博客
【go语言】接口 interface-涣清博客

【go语言】接口 interface

接口是一组方法签名的集合。Go 语言的接口是隐式实现的:一个类型只要实现了接口中的所有方法,就自动满足这个接口,不需要显式声明。1. 接口的定义与实现type Animal interface { Speak() stri...
涣清的头像-涣清博客涣清16小时前
05212
【go语言】defer 延迟执行-涣清博客

【go语言】defer 延迟执行

defer 关键字将其后的语句推迟到所在函数返回之前执行,常用于资源释放:关闭文件、解锁、关闭连接等。1. 基本用法func readFile(path string) { f, err := os.Open(path) if err != nil { retu...
涣清的头像-涣清博客涣清16小时前
0526
【go语言】方法与接收者-涣清博客

【go语言】方法与接收者

Go 语言没有类,但可以把函数绑定到某个类型上,这样的函数称为方法。方法的本质是带接收者的函数,接收者写在 func 和方法名之间。1. 值接收者与指针接收者type Person struct { name string a...
涣清的头像-涣清博客涣清16小时前
04915
【go语言】作用域-涣清博客

【go语言】作用域

作用域指的是变量、常量、类型和函数等标识符在代码中的有效范围。Go 语言采用词法作用域(静态作用域),作用域由代码块的位置决定,编译期就可以确定。1. 四种常见作用域从大到小依次是:包级...
涣清的头像-涣清博客涣清16小时前
0375
【go语言】函数-涣清博客

【go语言】函数

函数是组织好的、可重复使用的代码块。Go 语言中函数用 func 关键字声明,函数是「一等公民」,可以像普通值一样被赋值和传递。1. 函数定义func 函数名(参数列表) (返回值列表) { 函数体 return...
涣清的头像-涣清博客涣清16小时前
0275
【go语言】循环控制语句 break、continue、goto-涣清博客

【go语言】循环控制语句 break、continue、goto

循环控制语句用于在循环执行过程中改变流程:break 终止循环,continue 跳过本次循环,goto 直接跳转到指定标签。本章基于 for 循环讲解它们的使用。1. breakbreak 用于终止整个循环体。当 brea...
涣清的头像-涣清博客涣清16小时前
0415
【.NET】System.Text.Json 源生成器:启动快、分配少的序列化-涣清博客

【.NET】System.Text.Json 源生成器:启动快、分配少的序列化

前言 System.Text.Json 从 .NET 6 开始提供源生成器(source generation)模式:编译时生成序列化代码,运行时不再做反射。对启动时间敏感的 CLI 工具、AOT 编译应用和高吞吐 API 服务都有明显...
涣清的头像-涣清博客涣清17小时前
0499
【.NET】ThreadPool 与异步编程:线程池饥饿的排查和预防-涣清博客

【.NET】ThreadPool 与异步编程:线程池饥饿的排查和预防

前言 异步编程在 .NET 里已经普及多年,但「接口偶发变慢、CPU 不高、线程数却持续上涨」这类问题依然常见,十有八九和线程池饥饿有关。本文把线程池的工作方式、饥饿的成因、常见的阻塞代码模...
涣清的头像-涣清博客涣清17小时前
0428
【.NET】IMemoryCache 进阶:过期策略、缓存击穿与内存上限-涣清博客

【.NET】IMemoryCache 进阶:过期策略、缓存击穿与内存上限

前言 进程内缓存是每个后端项目迟早要面对的问题:热数据重复查库、配置项频繁读取、外部接口结果短期复用,都可以用内存缓存解决。.NET 自带的 IMemoryCache 开箱即用,但缓存击穿、过期策略和...
涣清的头像-涣清博客涣清17小时前
05013
【.NET】Span<T>和Memory<T>:高性能代码的基础知识-涣清博客

【.NET】Span和Memory:高性能代码的基础知识

前言 写业务代码时,大部分性能问题出在数据库、网络和序列化上,字符串和数组的分配通常不值得优化。但在解析协议、处理文件、写通用库和热路径接口时,每一次多余的分配都会变成 GC 压力。Spa...
涣清的头像-涣清博客涣清18小时前
0377