IT书架 本次搜索耗时 0.539 秒,为您找到 752 个相关结果.
  • 3.go代码规范

    uber开源的代码规范: https://github.com/xxjwxc/uber_go_guide_cn 代码规范一下全部接受不容易,经常看,养成习惯即可 规范不代表权威,某个规范自己思考一下,不一定就正确,要结合自己的需求具体情况具体分析 简单给大家介绍几个 零值 Mutex 是有效的 errors比较重要,后面有专门的章节讲解 这里有一些我...
  • 1.go基础数据类型

    bool类型 数值型 其他 字符 字符串 bool类型 布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true 数值型 整数型 可以简单讲解一下二进制和位数的关系,以及int和uint的关系 int8 有符号 8 位整型 (-128 到 127) 长度:8bit int16 ...
  • 559.Go GC如何调优?

    Go GC如何调优? Go GC如何调优? 控制内存分配的速度,限制 Goroutine 的数量,提高赋值器 mutator 的 CPU 利用率(降低GC的CPU利用率) 少量使用+连接string slice提前分配足够的内存来降低扩容带来的拷贝 避免map key对象过多,导致扫描时间增加 变量复用,减少对象分配,例如使用 sync.Pool ...
  • 555.Go 内存分配机制?

    Go 内存分配机制? 设计思想 分配组件 内存管理单元:mspan 线程缓存:mcache 中心缓存:mcentral 页堆:mheap 分配对象 分配流程 Go 内存分配机制? Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样,不会每...
  • 541.Go 原子操作有哪些?

    Go 原子操作有哪些? Go 原子操作有哪些? 参考解析 Go atomic包是最轻量级的锁(也称无锁结构),可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作,不过这个包只支持int32/int64/uint32/uint64/uintptr这几种数据类型的一些基础操作(增减、交换、载入、存储等) 概念: 原子操作仅会由一个独...
  • 530.Go channel有什么特点?

    Go channel有什么特点? Go channel有什么特点? 参考解析 channel有2种类型:无缓冲、有缓冲 channel有3种模式:写操作模式(单向通道)、读操作模式(单向通道)、读写操作模式(双向通道) 写操作模式 读操作模式 读写操作模式 创建 make(chan<- int) make(<-ch...
  • 311.go 同步、channel的实现

    go 同步、channel的实现 go 同步、channel的实现 题目来源:腾讯 channel的基本概念 channel俗称管道,用于数据传递或数据共享,其本质是一个先进先出的队列,使用goroutine+channel进行数据通讯简单高效,同时也线程安全,多个goroutine可同时修改一个channel,不需要加锁。 chan...
  • 6.Go 原子操作有哪些?

    6.Go 原子操作有哪些? 概念 使用场景 常见操作 增减操作 载入操作 比较并交换 交换 存储* 6.Go 原子操作有哪些? Go atomic包是最轻量级的锁(也称无锁结构),可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作,不过这个包只支持int32/int64/uint32/uint64/uintptr这...
  • 10.shell脚本启动go服务

    有哪些服务器需要部署 前段代码上传到到git并启动 1. centos7 下安装nodejs 1. 下载 2. 解压和建立软连接 3. 建立软连接 3. 测试 4. 安装cnpm 5. 安装nginx 6. 安装nginx - 挂载目录 2. centos7 安装golang 3. shell脚本启动go服务 4.通过gobuild构建...
  • 454.Go 语言当中 Channel 缓冲有什么特点?

    Go 语言当中 Channel 缓冲有什么特点? Go 语言当中 Channel 缓冲有什么特点? 参考解析 无缓冲的 channel是同步的,而有缓冲的channel是非同步的。