const go
Go: default print format
slice, map即使为nil打印格式和空元素的情况一样, chan,func,interface,pointer为nil时,打印<nil> 当chan,func,pointer赋值后,都打印地址, interface赋值后,永远打印其dynamic value的格式 package main i ......
Unable to create an object of type 'NetcoremvcDbcontext'. For the different patterns supported at design time, see https://go.microsoft.com/fwlink/?linkid=851728
问题描述:我整个项目重新生成没有报错,但是用efcore迁移数据库命令:Add-Migration init就生成不了文件夹Migrations,并且报错:Unable to create an object of type 'NetcoremvcDbcontext'. For the differ ......
go语言sync.Mutex
go语言sync.mutex 数据结构 type Mutex struct { state int32 sema uint32 } Mutex包含了两个字段,分别是state、sema,state表示了当前锁的状态,sema是用于控制锁的一个信号量。这是一个零值可用的结构体,零值表示未加锁 stat ......
Go 单表头结构体导入导出
Go 单表头结构体导入导出 首先感谢 github.com/xuri/excelize/v2 基础库对excel表格的支持,本文在此基础上进行功能的api扩展方便,(web/其他)有结构体导出与导入需求的封装优化,当前版本 v0.0.2 基本用法 安装 go get github.com/helia ......
Go笔记(八):指针
1、指针 在Go中,指针的操作有两个符号:&(取地址) 和 * (变量指针的声明 | 取指针变量的值)。 一个指针变量指向了一个值的内存地址。 Go中函数传值皆为值拷贝,对于引用类型的传值,可以创建一个指针变量,无需拷贝数据。Go中,类型指针不能进行偏移和运算。 2、指针地址和指针类型 变量在运行是 ......
Go语言中没有类(class)的概念,也没有传统意义上的继承(inheritance)
具体来说,可以定义一个基类(例如 struct),然后通过嵌入(embedding)基类的方式在子类中实现继承。同时,可以使用接口来定义类的行为。 举个例子,假设需要定义一个动物(Animal)作为基类,其中有一个Say方法表示动物的叫声: type Animal struct { NumLegs ......
Go语言string和byte以及rune
Go语言string和byte以及rune go语言中,byte其实是utint8的别名,一个字节;rune是int32的别名,4个字节 一个字节可以表示ASCii中的所有,但是要表示unicode中的别的内容,就得用多个字节了,所以用rune来表示。 那么string和这俩有啥关系呢 用下标访问s ......
go后台管理系统
先说一下运行环境。 go version:go version go1.19.5 framework:gin 1.9 mysql版本:5.7 redis版本:redis 6.0.6 里面的代码由于是初学go写的,会有瑕疵,还有很多优化空间。仅供参考。 代码在github上面也有,地址是:https: ......
(微服务)服务治理:熔断器介绍以及hystrix-go的使用
一、什么是熔断器 要理解熔断器,可以先看看电路中使用的保险丝。 保险丝(fuse)也被称为电流保险丝,IEC127 标准将它定义为“熔断体(fuse-link)”。保险丝是一种保证电路安全运行的电子元器件,作用就是在电流异常升高到一定的高度和热度的时候,自身熔断切断电流,这样可以保护电路安全运行。 ......
【go语言】错误处理
1. sentinel error 预定义的特定错误,我们叫为 sentinel error,这个名字来源于计算机编程中使用一个特定值来表示不可能进行进一步处理的做法。所以对于 Go,我们使用特定的值来表示错误。if err == ErrSomething { … }类似的 io.EOF,更底层的 ......
go struct结构体之间的转换
原文链接:https://www.zhoubotong.site/post/94.html 说下背景吧,大家在开发中可能在不同的目录(package)下定义了相同的struct(属性参数完全一样如名字、个数和类型),在方法调用传参数的时候,可能是用到了其中某一个struct的引用。 那么这里就牵扯到 ......
【迭代器设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 迭代器模式(Iterator Pattern),是一种结构型设计模式。给数据对象构建一套按顺序访问集合对象元素的方式,而不需要知道数据对象的底层表示。 迭代器模式是与集合共存的,我们只要实现一个集合,就需要同时提供这个集合的迭代器,就像Java中的Collection,List、Set、Map ......
go-JWT
JWT Cookie-Session认证模式 在Web应用发展的初期,大部分采用的是基于Cookie-Session的会话管理模式 客户端使用用户名、密码进行认证 服务端验证用户名、密码正确后生成并存储在Session中,将SessionID用过Cookie返回给客户端 客户端访问需要认证的接口时在 ......
Go基础语法(一)
GO(一) go mod init test go mod tidy 快速生成代码片段 pkgm main包+main主函数 ff fmt.Printf("",var) for for i:=0;i<count;i++{} fmain func main(){} a.print! fmt.Print ......
Go基础语法(三)
GO(三) Go语言切片(Slice) slice 并不是数组或数组指针。它通过内部指针和相关属性引用数组片段,以实现变长方案。 Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片 ......
Go语言多线程
Go语言多线程 (转) 大多数语言使用线程+并发同步访问控制作为并发模型,而 Go 的并发模型由 goroutine 和 channel 组成。线程类似于 goroutine,而并发同步访问控制则类似于 mutex。 Go 并发的理念是:简单,尽量使用 channel,尽情使用 goroutine。 ......
高德Go生态的服务稳定性建设|性能优化的实战总结
目前go语言不仅在阿里集团内部,在整个互联网行业内也越来越流行,本文把高德过去go服务开发中的性能调优经验进行总结和沉淀,希望能为正在使用go语言的同学在性能优化方面带来一些参考价值。 ......
go embed (2)
Go 1.16新特性:embed包及其使用详解 embed是什么 embed是在Go 1.16中新加包。它通过//go:embed指令,可以在编译阶段将静态资源文件打包进编译好的程序中,并提供访问这些文件的能力。 为什么需要embed包 部署过程更简单。传统部署要么需要将静态资源与已编译程序打包在一 ......
go embed
go在1.16之后引入了一个新包 embed,它使我们访问工程内的代码变的相对容易 概览 它支持讲内部文件转换为 string, []byte和一个embed像是的fs结构。 用法如下 import _ "embed" //go:embed hello.txt var s string print( ......
const的基础
1.使用const应该注意: const修饰的变量不能改变 const必须初始化 用一个对象初始化另外一个对象,则它们是不是const都无关紧要。 1 int i = 42; 2 const int ci = i; 3 int j = ci; 2.常量的引用 常量(被const修饰的变量)必须绑定在 ......
Go 语言环境安装
转载自:https://www.runoob.com/go/go-environment.html Go 语言支持以下系统: Linux FreeBSD Mac OS X(也称为 Darwin) Windows 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个 ......
Go 每日一库之 fsnotify
上一篇文章Go 每日一库之 viper中,我们介绍了 viper 可以监听文件修改进而自动重新加载。其内部使用的就是fsnotify这个库,它是跨平台的。今天我们就来介绍一下它。 快速使用 先安装: $ go get github.com/fsnotify/fsnotify 后使用: package ......
go test main包报错
前言 先提出问题, 再说明原因. 有如下一段代码: 当执行go test测试时, 会报如下错误: main.test /var/folders/55/47pl3jxx6rg7m0r6xvn4f7wr0000gn/T/go-build2769402238/b001/_testmain.go:13:8: ......
ES6 NO.1( var、let 和 const 命令 )| 前端小白的的第一篇博客~
var var 声明的变量 存在 变量提升 即 在声明该变量之前就可以使用,值为 undefined ,其作用域为全局; let 和 const let 用法类似于 var ,但是所声明的变量,只在 let 命令所在的代码块内有效; const 只能用来声明常量,一旦赋值,不能修改,故使用 cons ......
Go笔记(七):Map
map是一种key:value键值对的数据结构容器,通过key检索value,是引用类型。map内部实现是哈希表。 1、Map的声明 1.1、显示声明 1、语法 /* 声明变量,默认 map 是 nil */ var map_variable map[key_data_type]value_data ......
Go For Web:Golang http 包详解(源码剖析)
前言: 本文作为解决如何通过 Golang 来编写 Web 应用这个问题的前瞻,对 Golang 中的 Web 基础部分进行一个简单的介绍。目前 Go 拥有成熟的 Http 处理包,所以我们去编写一个做任何事情的动态 Web 程序应该是很轻松的,接下来我们就去学习了解一些关于 Web 的相关基础,了 ......
常量指针 指针常量 const修饰的指针常量
常量指针指针指向的值不可以修改,指针的指向可以修改 指针常量指针指针的指向不可以修改,指针指向的值可以修改 const修饰的指针常量指针指向的值和指针的指向均不可以修改 指针常量和const修饰的指针常量必须初始化,而常量指针不必初始化 1 const int* p1; 2 int* const p ......
用 Go 剑指 Offer 56 - I. 数组中数字出现的次数
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 输入:nums = [4,1,4,6] 输出:[1,6] 或 [6,1] 示例 2: 输入:nums = [1,2,10,4,1,4,3, ......
用 Go 剑指 Offer 31. 栈的压入、弹出序列 (辅助栈)
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 示例 1 ......
linux中systemctl管理go服务 (gin)git部署
go安装 下载 https://golang.google.cn/dl/ 解压至指定目录,一般到/usr/local sudo tar -C /usr/local -xzf go**.linux-amd64.tar.gz 设置环境变量 # 修改~/.bashrc 文件 $ sudo gedit ~/ ......