收藏本版 |訂閲

Go语言论坛 今日: 0|主題: 602|排名: 87 

  • [翻译]Go与C#的比较,第二篇:垃圾回收
    Go vs C#, part 2: Garbage Collection | by Alex Yakunin | ServiceTitan — Titan Tech | Medium 目录译者注什么是垃圾回收?什么是GCBurn?峰值分配吞吐量("速度测试")GCBurn 测试GC Burn测试结果结论.NET CoreGo两者的相同点免责声明和后记 译者注 本文90%通过机器翻译,另外10%译者按照自己的理解进行翻译,和原 ...
    091 英才 发表于 2021-6-21 Go语言论坛
  • 徒手用 Go 写个 Redis 服务器(Godis)
    作者:HDT3213 今天给大家带来的开源项目是 Godis:一个用 Go 语言实现的 Redis 服务器。支持: 5 种数据结构(string、list、hash、set、sortedset) 自动过期(TTL) 发布订阅、地理位置、持久化等功能 你或许不需要自己实现 Redis 服务,但你是否厌烦了每天都是写增删改查的业务代码,想提高编程水平试图从零写个项 ...
    096 林念 发表于 2021-6-17 Go语言论坛
  • Go timer 是如何被调度的?
    hi,大家好,我是 haohongfan。 本篇文章剖析下 Go 定时器的相关内容。定时器不管是业务开发,还是基础架构开发,都是绕不过去的存在,由此可见定时器的重要程度。 我们不管用 NewTimer, timer.After,还是 timer.AfterFun 来初始化一个 timer, 这个 timer 最终都会加入到一个全局 timer 堆中,由 Go runtime 统一管理。 全 ...
    0113 励健 发表于 2021-6-8 Go语言论坛
  • Go编译工具命令
    Go编译工具 go build <编译文件> 附加参数 备 注 -v 编译时显示包名 -p n 开启并发编译,默认情况下该值为 CPU 逻辑核数 -a 强制重新构建 -n 打印编译时会用到的所有命令,但不真正执行 -x 打印编译时会用到的所有命令 -race 开启竞态检测 # 无参数模式 $ go build # build 多文件 $ go build f1.go ...
    056 不做黑子不做小丑 发表于 2021-6-3 Go语言论坛
  • 浅谈GoPath和Go Modules包管理
    目录1、概述2、GOPATH介绍2.1 GOPATH目录2.2 GOPATH的缺点3、GO Module介绍3.1 设定GO111MODULE环境变量3.2 初始化mod3.3 go mod命令4、总结 1、概述 大多数语言都有“依赖”、“包”等概念,Go语言的依赖处理经历了几次变革 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面 从v1.5开始开始引入vendor模式 ...
    017 海蟾 发表于 2021-6-3 Go语言论坛
  • 记go中一次http超时引发的事故
    记一次http超时引发的事故 前言 分析下具体的代码实现 服务设置超时 客户端设置超时 http.client context http.Transport 问题 总结 参考 记一次http超时引发的事故 前言 我们使用的是golang标准库的http client,对于一些http请求,我们在处理的时候,会考虑加上超时时间,防止http请求一直在请求,导致业务长时 ...
    089 嘻嘻嘻哈哈哈 发表于 2021-6-2 Go语言论坛
  • Go以及调试工具dlv安装及使用
    Go以及调试工具dlv安装及使用 安装go wget https://studygolang.com/dl/golang/go1.14.1.linux-amd64.tar.gz tar -C /usr/local -zxvf go1.14.1.linux-amd64.tar.gz mkdir -p /home/go/bin/home/go/pkg /home/go/src #官方建议工作目录为/home/go vi .bash_profile #在最下面添加 export GOROOT=/usr/local/go export G ...
    058 林紫云 发表于 2021-5-31 Go语言论坛
  • 升级 Go 版本
    有些人可能注意到,每次 Go 发布新版本,官方都会提供类似这样的升级截图:       这可以说是官方的 Go 多版本管理,也是升级 Go 的方式。今天就一起聊一聊这种多版本管理方式及其实现原理。(我之前介绍过一个第三方多版本管理工具 goup,是我比较推荐的)。 注意,Windows 用户应该使用 WSL2。 01 ...
    057 绿叶深处 发表于 2021-5-26 Go语言论坛
  • Go语言syncMap LoadOrStore
    Go 语言 中 sync.Map 的 LoadOrStore 函数 表示,如果我们获取的 key 存在,那么就返回 key 对应的元素,如果获取的 key 不存在,那么就返回我们设置的值,并且将我们设置的值,存入 map。 sync.Map LoadOrStore函数 语法 func (m *Map) LoadOrStore(key, value interface{}) (actual interface{}, loaded bool) 参数 ...
    069 小马识途 发表于 2021-5-25 Go语言论坛
  • go-zero服务注册和发现
    go-zero 服务注册和发现 在没有服务注册和发现的时候, 没新上一个服务, 或者没部署一个新的节点, 都要改所有调用方的配置文件, 简直就是配置噩梦, 还容易配置错误 分析一个go-zero的服务注册和发现, 接着上面的代码, go-zero实战, 看看rpc客户端怎么寻址到rpc服务端的 //logic调用的代码 regRsp, err := l.svcCtx.UserServi ...
    031 小小好物 发表于 2021-5-22 Go语言论坛
  • Go 语言中 GoPath 模式与 GoModules 模式介绍
    GoPath 模式 当你在电脑上安装好 Go 后,在终端执行 go env 命令,在输出的内容中,你会发现一个 GOPATH 的环境变量,它的值是一个目录路径。 从 Go 1.8 版本开始,安装 Go 开发包时会默认为 GOPATH 变量设置一个目录路径,它表示的是 Go 语言的工作目录,这个目录下会有三个子目录,它们分别是: bin:存放编译后生成的 ...
    058 莫得肉 发表于 2021-5-22 Go语言论坛
  • Go: 方法
    方法 在面向对象编程的编程思想里,类、对象、方法是基础。类比到Golang中 // 类 type Point struct {X, Y int} // 对象 p := Point{1, 2} // 方法 即绑定在struct上的函数 // ... 方法声明 方法和函数类似,区别在于它在函数名前多了一个参数(接收器),用来将方法绑定在参数对应的类型上 package main import ( "fmt" ...
    0106 夏希 发表于 2021-5-16 Go语言论坛
  • 什么是Windows To Go?
    https://en.wikipedia.org/wiki/Windows_To_Go 微软为了解决企业用户的需求而推出,可以在u盘或者移动硬盘启动window系统,顾名思义,移动的windows。   那这个东西有啥用呢? 1.移动办公 比如程序员,有时候公司pc开发,有时候家里pc开发,有了win to go,不需要再部署两套系统、两套开发环境,即插即用。 提供除了笔 ...
    080 五道 发表于 2021-5-12 Go语言论坛
  • go mod replace
     Introduction to Go Modules – Roberto Selbach https://roberto.selbach.dev/intro-to-go-modules/ go mod使用 - 简书 https://www.jianshu.com/p/760c97ff644c   一个包管理工具应该有以下功能:基本功能 依赖管理 依赖包版本控制 对应的包管理平台 可以私有化部署 加分: 代码包是否可以复用 构建,测试 ...
    0114 阿才哥 发表于 2021-4-30 Go语言论坛
  • Go: 函数
    函数 函数声明 函数由5部分组成:函数名、形参列表、返回列表、和函数体。func为定义函数的关键字 func name(parameters-list) (result-list) { body } 形参列表的格式是参数名称+参数类型,相同类型的参数可以写在一起 // 这两种个写法等价的 func f(x, y float64) float64 {} func f(x float64, y float64) float64 ...
    0102 黑凯撒 发表于 2021-4-18 Go语言论坛
  • rocketmq事务 go 采用rocketmq-client-go的实现
    我想用rocketMq大家主要是用它的事务,所以拿着官方的代码体验一下 环境 用docker安装rocketMq #需要创建文件夹 /docker/namesrv/logs /docker/namesrv/store /docker/rocketmq/logs /docker/rocketmq/store #需要创建文件 /docker/rocketmq/broker.conf 文件内容如下: brokerClusterName = DefaultCluster brokerName = ...
    056 抓特务 发表于 2021-4-18 Go语言论坛
  • go 定时任务库 cron
    简介 在Linux中,Cron是计划任务管理系统,通过crontab命令使任务在约定的时间执行已经计划好的工作,例如定时备份系统数据、周期性清理缓存、定时重启服务等。 本文介绍的cron库是一个用于管理定时任务的库,就是用Go实现Linux中crontab命令的相似效果。 快速使用 文本代码使用 Go Modules。 创建目录并初始化: $ mkdir c ...
    080 李凤军 发表于 2021-4-4 Go语言论坛
  • go中semaphore(信号量)源码解读
    运行时信号量机制 semaphore 前言 作用是什么 几个主要的方法 如何实现 sudog 缓存 acquireSudog releaseSudog semaphore poll_runtime_Semacquire/sync_runtime_SemacquireMutex sync_runtime_Semrelease 参考 运行时信号量机制 semaphore 前言 最近在看源码,发现好多地方用到了这个semaphore。 本文是在go v ...
    0107 卫鑫活 发表于 2021-4-2 Go语言论坛
  • go中x/sync/semaphore解读
    semaphore semaphore的作用 如何使用 分析下原理 Acquire TryAcquire Release 总结 参考 semaphore semaphore的作用 信号量是在并发编程中比较常见的一种同步机制,它会保证持有的计数器在0到初始化的权重之间,每次获取资源时都会将信号量中的计数器减去对应的数值,在释放时重新加回来,当遇到计数器大于信号量 ...
    0120 设拉拉 发表于 2021-4-1 Go语言论坛
  • go nacos服务发现
    本来想研究一下nacos的服务发现,原来sample这么详细啊,直接运行代码吧: package main import ( "fmt" "time" "github.com/nacos-group/nacos-sdk-go/clients" "github.com/nacos-group/nacos-sdk-go/clients/naming_client" "github.com/nacos-group/nacos-sdk-go/common/constant" "githu ...
    035 魔一 发表于 2021-3-31 Go语言论坛
  • 下一頁 »

    快速發帖

    還可輸入 180 個字符
    您需要登錄後才可以發帖 登錄 | 立即注册

    本版積分規則

    相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

    Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

    在本版发帖返回顶部