报错信息 go build go: github.com/docopt/docopt-go@v0.0.0-20180111231733-ee0de3bc6815: Get https://proxy.golang.org/github.com/docopt/docopt-go/@v/v0.0.0-20180111231733-ee0de3bc6815.mod: dial tcp 142.251.42.241:443: i/o timeout 解决方法 go env -w GOPROXY
1 package main 2 3 import ( 4 "fmt" 5 "time" 6 ) 7 8 func main() { 9 10 //创建一个10.5秒的定时器(当到达时间时它会向 timer.C 管道发送一条消息) 11 dis, _ := time.ParseDuration("10s500ms") 12 timer := time.NewTimer(dis) 13
前面这篇文章<Golang里面MD5的写法和性能>介绍了如何计算字符串的md5,下面我们来说说如何计算文件的md5。 https://wangbjun.site/2020/coding/golang/file-md5.html 1.错误的方式 有人说,文件可以读取成字符串,然后再计算就可以了,如下: func FileMD5(filePath string) (string,
1、初始化项目 go mod init example.com/m/v1 go get gopkg.in/gomail.v2 go mod vendor touch main.go go run main.com 2、编写代码 package main import ( "crypto/tls" "log" "gopkg.in/gomail.v2" ) func main() { m := g
在 .vscode 目录下创建如下两个文件 launch.json { "configurations": [ { "name": "Connect to server", "type": "go", "request": "launch", "mode": "
刚接触Golang,之前一直用PHP,各方面不规范,以及编程思想不太相同。直接在全局变量定义:var ids = ArticleIdsCache(),之后ids出现了问题,就算把数据库的id和redis中的id改变,程序中对应的id一直没有变化,最后才想到是全局变量在编译的过程中已经分配内存地址并确定了一个值,如果在运行过程
一、概念,GMP模型 M:真正的内核OS线程,真正干活的人,物理级别,耗费资源,M可以执行多个G P:执行线程的上下文环境,运行所需要的资源,操作系统的状态,CPU G:用户态, 二、MPG调度原理 运行流程:M0主线程正在执行G0协程,如果G0线程阻塞,比如读取文件或者数据库等,这是会创建M1主线程(也可能是从
一 限流-熔断-降级介绍 在分布式系统中,如果某个服务节点发生故障或者网络发生异常,都有可能导致调用方被阻塞等待,如果超时时间设置很长,调用方资源很可能被耗尽。这又导致了调用方的上游系统发生资源耗尽的情况,最终导致系统雪崩,如下情况会导致系统雪崩 【服务提供者不可用】:硬件故障
官网: https://github.com/golangci/golangci-lint 执行命令: golangci-lint run --timeout=10m 相关博客: https://blog.csdn.net/wohu1104/article/details/113751501 TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong
原文链接: 1.(四)GORM插入数据 https://www.cnblogs.com/infodriven/p/16351285.html 2.(五)GORM查询数据 https://www.cnblogs.com/infodriven/p/16351370.html 3.(六)GORM更新数据 https://www.cnblogs.com/infodriven/p/16351548.html 4.(七)GORM删除数据 https://www.cnblogs.com/infod
原文链接: 1.(二)GORM模板定义 https://www.cnblogs.com/infodriven/p/16348171.html 2.(三)GORM连接数据库 https://www.cnblogs.com/infodriven/p/16348215.html 3.(十三)GORM 自动建表(Migration特性 https://www.cnblogs.com/infodriven/p/16351624.html 1.gorm的模板定义 1.1 介绍
原文:(一)GORM快速入门教程 https://www.cnblogs.com/infodriven/p/16348116.html 1.介绍 GORM是Golang目前比较人们的数据库ORM操作库,对开发者也比较友好,使用非常简单,使用上主要就是把struct类型和数据库表记录进行映射,操作数据库的时候不需要直接手写Sql代码,这里主要介绍MYSQL数据
viper库下载: go get -u github.com/spf13/viper 代码结构: . +--- config | +--- config.go | +--- config.yaml +--- go.mod +--- go.sum +--- main.go config.yaml app: app1: timeout: 120 rpc: true compatible: true mysql: host: localhost port: 3
写在前面的话 Golang中构建结构体的时候,需要通过可选参数方式创建,我们怎么样设计一个灵活的API来初始化结构体呢。 让我们通过如下的代码片段,一步一步说明基于可选参数模式的灵活 API 怎么设计。 灵活 API 创建结构体说明 v1版本 如下 Client 是一个 客户端的sdk结构体,有 hos
题目来源: 深信服、知乎、跟谁学 题目解析: GOALNG ROADMAP社区 答案 1:(溪尾) 数组长度是固定的,而切片是可变长的。可以把切片看作是对底层数组的封装,每个切片的底层数据结构中,一定会包含一个数组。数组可以被称为切片的底层数组,切片也可以被看作对数组某一连续片段的引用。因此,Go
码住!Golang并发安全与引用传递总结 https://mp.weixin.qq.com/s/svKtrTbEU-2MsChqvZKjMA 码住!Golang并发安全与引用传递总结 原创 徐世佳 云加社区 2022-06-08 18:02 发表于广东 导语 | 因为现在服务上云的趋势,业务代码都纷纷转向golang的技术栈。在迁移或使用的过程中
一、goroutine GMP 模型: M:machine。一个M对应一个内核级线程,相当于内核级线程在go中的映射,执行代码的线程(CPU)P:processor 一个P代表执行go代码所需要的上下文环境,Processer 调度,上下文的切换,内存申请G:goroutine,是一个代码片段,相当于用户级线程,例程,goroutineMPG:1、每个M都会与一个
本来是想用golang,因为这是工作中的主要语言,不妨试一试打cf,结果写了一题就被劝退了,golang对于打算法竞赛极不友好 首先,golang在cf中,fmt的各种scanf和printf并不直接接收来自于标准输入输出流的内容,所以有些oj由于没有做对STD IO的支持,golang提交上去就报CE,很恶心 其次,golang里面缺
title: Golang 实现二进制转换 tags: Golang categories: Golang abbrlink: 690518952 date: 2021-10-14 13:14:00 使用除二取余法对整数进行二进制转换 /* 二进制转换 */ func convert2binary(n int) { result := "" for ; n > 0; n /= 2 { // 每次除于二 //
Golang | 客户信息关系系统 1 项目需求分析 1)模拟实现基于文本界面的《客户信息管理软件》 2)该软件能实现对客户对象的插入、修改和删除(用切片实现),并能够打印客户明细表 2 项目的界面设计 3 功能实现-主菜单显示+退出 功能说明: 当用户运行程序时,可以看到主菜单,当输入5时,可以
首先强烈推荐按照 golang 官方教程来配置,介绍的非常详细和到位。下面是我参考网友的教程和官方教程做的一个教程。 1、创建远程连接 & 设置同步策略 1.1、创建 ssh 连接配置 依次点击功能栏「Golang -> Preferences」,随后选择 「Tools -> SSH Configurations」,点击 「**+**
今天写代码排查问题时发现了一个问题,我想把下面这个json字符串反序列到一个对象中,所以我定义了一个 struct { "name": 42, "age": 2, "extra": "{\"city\": \"北京\"}" } struct 的定义如下: type Student struct { Name string
1、概述 gRPC常用于服务端之间的相互调用,如果想把服务暴露给前端,虽然动手修改服务端也能实现,但似乎增加了不少工作量,此时还可以选择gRPC-Gateway方式来快速将gRPC服务以http的方式暴露出来; gRPC-Gateway 是 Google protocol buffers compiler protoc 的插件。 它读取 protobuf ser
package main import ( "fmt" "github.com/streadway/amqp" "log" ) func failOnError(err error, msg string) { if err != nil { log.Fatalf("%s: %s", msg, err) } } func getConn() *amqp.Connec
一个实用的logger需要提供以下这些功能: 支持把日志写入多个输出流中,比如可以选择性的让测试、开发环境同时向控制台和日志文件输出日志,生产环境只输出到日志文件中 支持多级别的日志等级,常见的有:TRACE、DEBUG、INFO、WARN、ERROR、PANIC等 支持结构化输出,结构化输出常用的就是JSO