IT书架 本次搜索耗时 0.194 秒,为您找到 1106 个相关结果.
  • 工厂方法模式

    工厂方法模式 2.1 模式动机 2.2 模式定义 2.3 模式结构 2.4 时序图 2.5 模式分析 2.6 实例 2.7 工厂方法模式的优点 2.8 工厂方法模式的缺点 2.9 适用环境 2.10 模式扩展 2.11 Go语言实现 factorymethod.go factorymethod_test.go 2.12 总结 ...
  • 4. Go 方法与函数的区别?

    4. Go 方法与函数的区别? 方法 函数 4. Go 方法与函数的区别? 在Go语言中,函数和方法不太一样,有明确的概念区分。其他语言中,比如Java,一般来说函数就是方法,方法就是函数;但是在Go语言中,函数是指不属于任何结构体、类型的方法,也就是说函数是没有接收者的;而方法是有接收者的。 方法 func ( t * T ) ad...
  • 3. Go 有哪些数据类型?

    3. Go 有哪些数据类型? 3. Go 有哪些数据类型?
  • 《Go语言设计模式》

    《Go语言设计模式》 👨‍🏫 宝典介绍 # 📚 ​宝典内容 《Go语言设计模式》 👨‍🏫 宝典介绍 软件模式是将模式的一般概念应用于软件开发领域,即软件开发的总体指导思路或参照样板。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件生存期的每一个阶段都存在着一些被认同的模式。 本书使用图形和代码结合的方式来解析...
  • 3.Go slice扩容机制?

    3.Go slice扩容机制? Go 1.18版本之前 Go 1.18版本切片扩容 3.Go slice扩容机制? Go 1.18版本之前 扩容会发生在slice append的时候,当slice的cap不足以容纳新元素,就会进行扩容,扩容规则如下 如果新申请容量比两倍原有容量大,那么扩容后容量大小 为 新申请容量 如果原有 slice ...
  • 5.Go 方法值接收者和指针接收者的区别?

    5.Go 方法值接收者和指针接收者的区别? 5.Go 方法值接收者和指针接收者的区别? 如果方法的接收者是指针类型,无论调用者是对象还是对象指针,修改的都是对象本身,会影响调用者; 如果方法的接收者是值类型,无论调用者是对象还是对象指针,修改的都是对象的副本,不影响调用者; package main import "fmt" ...
  • Slice

    1.Go slice的底层实现原理? 2.Go slice深拷贝和浅拷贝 3.Go slice扩容机制? 4.Go slice为什么不是线程安全的?
  • 课程介绍

    《Go语言设计模式》 看懂UML类图和时序图
  • 1.Go map的底层实现原理?

    1.Go map的底层实现原理? 1.Go map的底层实现原理? Go中的map是一个指针,占用8个字节,指向hmap结构体 源码包中src/runtime/map.go 定义了hmap的数据结构: hmap包含若干个结构为bmap的数组,每个bmap底层都采用链表结构,bmap通常叫其bucket hmap结构体 // A head...
  • 6. Go 函数返回局部变量的指针是否安全?

    6. Go 函数返回局部变量的指针是否安全? 6. Go 函数返回局部变量的指针是否安全? 一般来说,局部变量会在函数返回后被销毁,因此被返回的引用就成为了”无所指”的引用,程序会进入未知状态。 但这在 Go 中是安全的,Go 编译器将会对每个局部变量进行逃逸分析。如果发现局部变量的作用域超出该函数,则不会将内存分配在栈上,而是分配在堆上,因为他们...