240 发简信
IP属地:四川
  • 120
    github copilot最强使用攻略

    github copilot 年初的时候,就听说了Copilot这个插件,但是一直没有去尝试使用。直到最近才去尝试使用,比较了其它几款ai相关插件,总的来说copilot使用...

  • 2023-12-09

    概括 1. 在golang中一切都是值传递 包括指针,也是一种拷贝而已 2. 结构体不能和nil比较 比如: 3. golang不能比较的一些规则 一个经验:对于一些复合类型...

  • golang接口看这篇就够啦

    interface interface是go中一个非常重要的概念,使用的地方非常非常多,有必要好好学习。 那什么是接口呢?在现实中我们有usb接口、type-c接口、HDMI...

  • golang结构体看这篇就够啦

    struct概述 结构体是go语言最重要的数据结构之一,go和其它编程语言不一样,它没有类的概念,类比过来struct就相当于其它语言中的类,因此十分重要。 结构体这部分涉及...

  • binary包快速入门

    binary 它的作用用一句话说就是:实现数据与二进制之间的双向转换 它有许多使用场景,比如: 读取(解析)网络过来的二进制数据 读取一个二进制文件 将一个数据写成二进制 大...

  • golang buf包就这么用

    bufio 它的作用用一句话表述就是: 利用缓冲区减少io操作次数,提升读写性能。 1. 为什么要用bufio? 开始之前我们先来看一段代码: 上面实现了一个简单的文件读取功...

  • 2023-11-23日记(binary、bufio、bytes)

    概括 最近这几天都在看golang编程相关的东西,一言难进啊!这块内容牵扯到很多知识,所以很繁琐,自己看的也很绕,还是对看的内容做一个大概总结吧! 1. binary、buf...

  • 120
    2023-11-21日记(结构体、接口...)

    概述 今天的知识点相对零散,以日记形式记录。 1. 结构体实例 首先,结构体是值类型,非引用类型;因此var 后 会分配内存。 注意下面三种写法的区别 2. 接口方法 + 指...

  • golang string、byte、rune就看这篇

    string、byte、rune 在go中字符串有很多令人困惑的地方,所以查了些资料,搞懂了些,写下此文方便查阅。 1. 从一个困惑开始 为什么长度是12呢,不应该是8个字符...

  • golang syn.pool看这篇就够啦

    sync.Pool 背景:在高并发场景下,短时间内会创建大量临时对象,而这些临时对象都一次性的,创建完就等着被GC(垃圾回收),非常的浪费,也占用了大量的内存,性能不好。 比...

  • golang atomic看这篇就够啦

    atomic atomic是go提供的一个执行原子操作的包,虽然提供了这个包,但是go官方并不是很推荐使用;除了做一些低级的应用程序外,go更推荐使用通道和sync来处理; ...

  • golang context 看这篇就够啦

    context context字面意思是上下文,它有什么用呢?它主要用于多gorountine、多层级的goroutine(一个goroutine下又有goroutine-子...

  • 2023-11-16日记golang GMP

    概览 这些内容本身是昨天看的,但是没有做记录,今日来,也忘了些许;在golang中GMP这部分知识感觉还是比较难懂,但是还是要写下自己的一些只言片语理解。 1. 什么事GMP...

  • golang中的定时器

    定时器 定时器指的是设定一个时间去做xx事,大体上分为两种: 设定多少时间后,执行xx事,一次性的。 设定一个间隔时间,循环的提醒做xx事,循环的多次的。 定时器非常有用,可...

  • golang中匿名函数看这篇就够啦

    匿名函数 匿名函数就是没有名称的函数,主要记住它可以用于各种类型(切片、结构体、map等)中就行。 1. 一等公民 golang中的函数是一等公民 —— 它能做类型、变量、参...

  • golang workerpool(生产者消费者模式)

    WorkerPool worker pool也就计算机中的生产者、消费者模型;一边负责生产任务、一边负责处理(消费)任务; 在golang中是通过channel用做任务队列,...

  • golang select多路复用

    select 在开始介绍select之前,我们先说一个概念多路复用 什么是多路复用呢?我们从一个大家所熟知的场景说起,比如在一个学校里面要举行运动会,运动会上有许多的比赛项目...

  • sync包sync.WaitGroup 和 sync.Once

    sync sync包提供了许多功能,比如sync.WaitGroup保证所有gorountinue都能执行完sync.Once 保证在多线程情况只执行一次等等。下面分别说下:...

  • golang中的互斥锁与读写锁

    锁 在多线程执行情况下,会存在对同一变量同时修改的情况;不能保证资源的修改后数据的一致(和我们期望)我们称为线程不安全。 这种情况,在编程语言中我们可以通过加锁解决。 我们先...

  • go中通道看这篇就够了

    channel-通道 为什么要有通道呢?通道的作用是解决各个gorountine之间通行的问题; 在开始之前可以先记住一个原则,通道必须和gorountine一起使用,一个直...