掘友等级
获得徽章 0
今天学习了,redis的使用这一课。这节课详细展示了redis过期机制、消息队列、排名、限流等用法,并介绍了大key、热key,缓存血崩和穿透等常见的性能问题,给出了修改意见,值得反复学习和观看
今天先看了一部分第九课,学习了gorm的一系列用法。感觉很惊艳,比我之前在网上跟着文章速成的内容丰富多了,而且还提到了生产环境常用的hook,事务以及一系列推荐用法。原来gorm比我想象得强大和易用得多。
今天对过去几天所学的东西做了一个总结,虽然短短几天,也已经学到了很多东西,希望接下来再接再厉,打卡整理笔记
当在 Go 语言中使用类型断言时,如果您尝试将一个非接口类型断言为接口类型,即使类型不匹配,也不会引发运行时错误。这是因为在 Go 中,每个类型都实现了空接口 interface{},因此任何类型都可以隐式转换为接口类型
当在 Go 语言中使用类型断言时,如果您尝试将一个非接口类型断言为接口类型,即使类型不匹配,也不会引发运行时错误。这是因为在 Go 中,每个类型都实现了空接口 interface{},因此任何类型都可以隐式转换为接口类型。
在 Go 语言中,有一个特殊的标识符 _ 可以用作空白标识符。空白标识符在多种情况下都有用途,以下是一些常见的用法:
忽略值:当您在某个地方需要变量,但实际上并不需要使用它时,可以使用 _ 来表示忽略这个值。这在多返回值的函数调用、声明中不需要的变量等场景下很有用。
Go 语言中的 map 是一种无序的键值对集合。在 map 中,每个键(key)都是唯一的,而对应的值(value)可以重复。map 是一种非常实用的数据结构,用于存储和查找具有关联关系的数据。
Go语言中的 defer 语句允许您推迟(延迟)函数的执行,直到包含它的函数返回。defer 通常用于确保函数执行后清理工作、释放资源或以确保某些操作一定会在函数结束时执行。
在实际应用中,defer 经常用于处理资源释放、文件关闭、锁解除等工作,以确保不会因为遗漏而导致资源泄漏。
Go语言中的Goroutine泄漏是指创建的Goroutine没有正确关闭,导致资源浪费以及潜在的内存和性能问题。通过使用sync、channel或sync.WaitGroup等机制等待所有Goroutine执行完毕来解决这个问题。
Viper需要最少知道在哪里查找配置文件的配置。Viper支持JSON、TOML、YAML、HCL、envfile和Java properties格式的配置文件。Viper可以搜索多个路径,但目前单个Viper实例只支持单个配置文件。Viper不默认任何配置搜索路径,将默认决策留给应用程序。
下一页