// //Go语言切片 // /* // go语言切片是对数组的抽象 // Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片(“动态数组”)…
标签:go语言
Golang 学习笔记七 接口
一、概念 《快学 Go 语言》第 9 课 —— 接口 1.接口定义 Go 语言的接口类型非常特别,它的作用和 Java 语言的接口一样,但是在形式上有很大的差别。Java 语言需要在类的定义上显式实现了某些接口,才可以说…
go validators用法详解 对struct字段进行参数验证
golang小菜一枚,业务中有对接口struct字段进行参数验证的需求,为了练手,自己造了个go validators验证器的轮子,代码在github,使用的详细方法写到这里,欢迎大大们提出宝贵建议,也希望大家在使用过程…
golang利用channel实现线程同步互斥信号量
1、利用channel实现线程互斥 package main import ( "fmt" "sync" ) var value int = 0 func add(ch chan struct{}, group *syn…
Go语言 Web开发(5)数据库标准接口解析
Go没有官方提供的数据库驱动,而是定义了一些数据库驱动标准接口,这样我们可以根据定义的接口来开发相应的数据库驱动,后期进行数据库转移时就不需要进行修改。 我们来看看Go有哪些数据库标准接口 ①sql.Register 在…
golang slice/map/chan的初始化
我们知道make函数用来初始化slice,map,以及chan;而一个slice,map,以及chan必须先被初始化才能使用的。 先看一个slice的使用例子: 1 package main 2 3 import ( 4…
Golang 面向对象编程
Golang 面向对象编程 go语言中,虽然没有明确提出面向对象的概念,但是基于已有的语法设计,我们也可以写出面向对象的代码。go语言中的面向对象是借助struct结构体实现的。值得一提的是,go语言中虽然没有class…
GO: sync.Mutex 的实现与演进
前几天某个群里问,sync.Mutex 是否有自旋逻辑,抽时间看了下源码。不得了,小小的 Mutex 居然进化了三个版本,从这也可以看到 go 社区一直在积极的优化与演进 最朴素的实现互斥锁,拿到锁返回,拿不到就将当前 …
Go安装以及运行环境
环境变量 Go 开发环境依赖于一些操作系统环境变量,你最好在安装 Go 之间就已经设置好他们。如果你使用的是 Windows 的话,你完全不用进行手动设置,Go 将被默认安装在目录 c:/go 下。这里列举几个最为重要的…
go语言指针类型的使用
go语言的指针类型 简单地说go语言的指针类型和C/C++的指针类型用法是一样的,除了出去安全性的考虑,go语言增加了一些限制,包括如下几条: 不同类型的指针不能互相转化,例如*int, int32, 以及int64 任…
Golang获取图片尺寸并生成缩略图
有一个需求是生成图片的缩略图,并限定大小,比如说长和宽分别不能超过320和240,由于输入的是图片的路径,所以需要先获取图片的宽高,根据宽高计算出缩略图的宽高,然后生成缩略图,这里遇到的一个问题是 c, _, err :…
Golang之微服务micro学习记录之大纲
一、原因 之前其实习惯了收藏各大神的文章,一些教程之类的,既可以快速吸收,也没必要重复劳动,但是!发现到了golang这门语言的时候(之前学Android和python),发现完全不一样了:语言很不错,问题也基本能够解决…