随笔分类 -  Go

发布GoLang学习相关内容
摘要:@ 前言 本人在学习go-micro中,用到Makefile,本人之前用过Makefile,但是不知道为什么这会就不能用了,我找了好多教程都没能解决问题,大多数是linux的安装教程,另一部分是下载mingw,但是没能解决我的问题,最后花了我一下午的时间才解决,特此记录一下,给其他的小伙伴提个醒,希 阅读全文
posted @ 2022-12-20 17:13 qi66 阅读(1133) 评论(0) 推荐(0) 编辑
摘要:1. Kafka介绍 1.1.1. Kafka是什么 kafka使用scala开发,支持多语言客户端(c++、java、python、go等) Kafka最先由LinkedIn公司开发,之后成为Apache的顶级项目。 Kafka是一个分布式的、分区化、可复制提交的日志服务 LinkedIn使用Ka 阅读全文
posted @ 2022-12-04 23:27 qi66 阅读(618) 评论(0) 推荐(1) 编辑
摘要:目录 Redis的介绍、优缺点、使用场景 Linux中的安装 常用命令 Redis各个数据类型及其使用场景 Redis字符串(String) Redis哈希(Hash) Redis列表(List) Redis集合(Set) Redis有序集合(sorted set) Redis - 瑞士军刀 慢查询 阅读全文
posted @ 2022-11-27 22:25 qi66 阅读(67) 评论(0) 推荐(0) 编辑
摘要:Go 箴言 不要通过共享内存进行通信,通过通信共享内存 并发不是并行 管道用于协调;互斥量(锁)用于同步 接口越大,抽象就越弱 利用好零值 空接口 interface{} 没有任何类型约束 Gofmt 的风格不是人们最喜欢的,但 gofmt 是每个人的最爱 允许一点点重复比引入一点点依赖更好 系统调 阅读全文
posted @ 2022-11-20 22:05 qi66 阅读(197) 评论(0) 推荐(0) 编辑
摘要:@ 一 前言 go语言中,并没有栈与队列相关的数据结构,但是我们可以借助切片来实现栈与队列的操作;接下来我们一起实现栈与队列基本操作,并且还会实现用栈实现队列,用队列实现栈的操作。 二 实现栈与队列基本操作 2.1 栈基本操作 go语言实现栈和队列主要用到append 和切片(用内置数组类型进行操作 阅读全文
posted @ 2022-11-11 11:53 qi66 阅读(479) 评论(0) 推荐(0) 编辑
摘要:一 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的数据库驱动。使用database/sql包时必须注入(至少)一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如:MySQL驱动 1.1 下载依赖 go get -u github 阅读全文
posted @ 2022-11-08 16:34 qi66 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1.使用值为 nil 的 slice、map会发生啥 允许对值为 nil 的 slice 添加元素,但对值为 nil 的 map 添加元素,则会造成运行时 panic。 // map 错误示例 func main() { var m map[string]int m["one"] = 1 // er 阅读全文
posted @ 2022-10-31 19:39 qi66 阅读(114) 评论(0) 推荐(0) 编辑
摘要:权限管理 Casbin是用于Golang项目的功能强大且高效的开源访问控制库。 1. 特征 Casbin的作用: 以经典{subject, object, action}形式或您定义的自定义形式实施策略,同时支持允许和拒绝授权。 处理访问控制模型及其策略的存储。 管理角色用户映射和角色角色映射(RB 阅读全文
posted @ 2022-10-12 21:03 qi66 阅读(239) 评论(0) 推荐(0) 编辑
摘要:前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的 阅读全文
posted @ 2022-10-11 21:17 qi66 阅读(151) 评论(0) 推荐(0) 编辑
摘要:前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的 阅读全文
posted @ 2022-10-11 21:17 qi66 阅读(58) 评论(0) 推荐(0) 编辑
摘要:前言 Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会发现这篇文章中的 阅读全文
posted @ 2022-10-11 21:16 qi66 阅读(1009) 评论(1) 推荐(7) 编辑
摘要:插件 QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK http://github.com/go-pay/gopay 发送邮件库 https://github.com/go-gomail/gomail 读写Microsoft Excel https://github.com/360 阅读全文
posted @ 2022-10-10 21:32 qi66 阅读(81) 评论(0) 推荐(0) 编辑
摘要:一 什么是Micro? Micro是一个微服务生态系统,致力于提供产品,服务和解决方案,以实现现代软件驱动型企业的创新。我们计划成为任何与微服务相关的事实资源,并期待公司能够利用这项技术为自己的业务。从早期的原型开始一直到大规模的生产部署。 我们已经看到行业发生根本性转变。摩尔定律是有效的,我们每天 阅读全文
posted @ 2022-10-10 20:46 qi66 阅读(139) 评论(0) 推荐(0) 编辑
摘要:1.输入输出的底层原理 终端其实是一个文件,相关实例如下: os.Stdin:标准输入的文件实例,类型为*File os.Stdout:标准输出的文件实例,类型为*File os.Stderr:标准错误输出的文件实例,类型为*File 以文件的方式操作终端: package main import 阅读全文
posted @ 2022-10-10 13:24 qi66 阅读(37) 评论(0) 推荐(0) 编辑
摘要:一 channel介绍 单纯地将函数并发执行是没有意义的。函数与函数间需要交换数据才能体现并发执行函数的意义。 虽然可以使用共享内存进行数据交换,但是共享内存在不同的goroutine中容易发生竞态问题。为了保证数据交换的正确性,必须使用互斥量对内存进行加锁,这种做法势必造成性能问题。 Go语言的并 阅读全文
posted @ 2022-10-10 13:24 qi66 阅读(197) 评论(0) 推荐(0) 编辑
摘要:Goroutine详解 goroutine的概念类似于线程,但 goroutine是由Go的运行时(runtime)调度和管理的。Go程序会智能地将 goroutine 中的任务合理地分配给每个CPU。Go语言之所以被称为现代化的编程语言,就是因为它在语言层面已经内置了调度和上下文切换的机制。 在G 阅读全文
posted @ 2022-10-10 12:44 qi66 阅读(109) 评论(0) 推荐(0) 编辑
摘要:一 互联网协议介绍 1.1互联网分层模型 互联网的逻辑实现被分为好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。用户接触到的只是最上面的那一层,根本不会感觉到下面的几层。要理解互联网就需要自下而上理解每一层的实现的功能。 如上图所示,互联网按照不同的模型划分会有不用的分层,但是不 阅读全文
posted @ 2022-10-09 18:56 qi66 阅读(461) 评论(0) 推荐(1) 编辑
摘要:一 闭包详解 闭包的应该都听过,但到底什么是闭包呢? 闭包是由函数及其相关引用环境组合而成的实体(即:闭包=函数+引用环境)。 “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 维基百科讲,闭包(Closure 阅读全文
posted @ 2022-10-09 16:49 qi66 阅读(73) 评论(0) 推荐(0) 编辑
摘要:一 select 语句 select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。 select 是Go中的一个控制结构,类似于用于通信的switch语句。每个case必须是一个通信操作,要么是发送要么是接收 阅读全文
posted @ 2022-10-09 12:24 qi66 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一 什么是Map key,value存储 最通俗的话说Map是一种通过key来获取value的一个数据结构,其底层存储方式为数组,在存储时key不能重复,当key重复时,value进行覆盖,我们通过key进行hash运算(可以简单理解为把key转化为一个整形数字)然后对数组的长度取余,得到key存储 阅读全文
posted @ 2022-10-09 11:27 qi66 阅读(76) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示