网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。

golang 使用组合的方式实现继承
2020-06-10 02:50 admin golang继承

摘要_golang并非完全面向对象的程序语言,为了实现面向对象的继承这一神奇的功能,golang允许struct间使用匿名引入的方式实现对象属性方法的组合_组合使用注意项*使用匿名引入的方式来组合其他struct*默认优先调用外层方法*可以指定匿名struct以调用内层方法代码事例__packagemainimport...
阅读全文

Golang并发模型:轻松入门协程池
2020-06-10 02:50 admin golang协程池

goroutine是非常轻量的,不会暂用太多资源,基本上有多少任务,我们可以开多少goroutine去处理。但有时候,我们还是想控制一下。比如,我们有A、B两类工作,不想把太多资源花费在B类务上,而是花在A类任务上。对于A,我们可以来1个开一个goroutine去处理,对于B,我们可以使用一个协程池,协程池里有5个线程...
阅读全文

判断Golang接口是否实现
2020-06-10 02:50 admin golang接口

今天在看beegoconfig模块fake.go文件的时候,看到var_Configer=new(fakeConfigContainer)这行代码,一开始不懂这行代码的功能是什么?后面了解到这行代码的作用是判断fakeConfigContainer结构体是否实现了Configer这个接口案例:__typeAinterf...
阅读全文

Golang操作MySQL增删改查
2020-06-10 02:50 admin golangmysql

__import("database/sql""fmt"_"github.com/go-sql-driver/mysql")funcmain(){db,err:=sql.Open("mysql","root:0314@tcp(127.0.0.1:3306)/golang_test?charset=utf8")check...
阅读全文

Golang中gorm+gin的简单使用
2020-06-10 02:50 admin golanggormgin

自己做记录,方便查看__packagemainimport("fmt""github.com/gin-gonic/gin"_"github.com/go-sql-driver/mysql""github.com/jinzhu/gorm")typeUserstruct{Idint`json:"id",gorm:"auto...
阅读全文

Golang并发:除了channel,你还有其他选择
2020-06-10 02:50 admin golangchannel

我们都知道Golang并发优选channel,但channel不是万能的,Golang为我们提供了另一种选择:sync。通过这篇文章,你会了解sync包最基础、最常用的方法,至于sync和channel之争留给下一篇文章。提供了基础的异步操作方法,比如互斥锁(Mutex)、单次执行(Once)和等待组(WaitGrou...
阅读全文

Golang并发模型:并发协程的优雅退出
2020-06-10 02:50 admin golang并发

goroutine作为Golang并发的核心,我们不仅要关注它们的创建和管理,当然还要关注如何合理的退出这些协程,不(合理)退出不然可能会造成阻塞、panic、程序行为异常、数据结果不正确等问题。这篇文章介绍,如何合理的退出goroutine,减少软件bug。goroutine在退出方面,不像线程和进程,不能通过某种手...
阅读全文

Golang mgo 模糊查询的使用
2020-06-10 02:50 admin golangmgo

在日常使用的Mongodb中,有一项功能叫做模糊查询(使用正则匹配),例如:__db.article.find({"title":{$regex:/a/,$options:"im"}})这是我们常用Mongodb的命令行使用的方式,但是在mgo中做出类似的方式视乎是行不通的:__query:=bson.M{"title...
阅读全文

golang中compress/bzip2
2020-06-10 02:50 admin golangcompress

一、bzip2的简介bzip2包实现bzip2的解压缩,bzip2是对单个文件进行压缩,可以先进行tar归档,然后进行压缩。二、bzip2的使用go标准库中提供了一个对bzip2压缩包进行读取的操作,但是并没有提供进行bzip2压缩操作。__packagemainimport("compress/bzip2""os""...
阅读全文

gof23创建类模式(golang版)
2020-06-10 02:50 admin golanggof

区块链的征程已开启单例模式imageJava中的单例模式的实现可以有饿汉式、懒汉式、双锁、静态内部类、枚举等形式,在go中如何实现单例呢,先来最简单的形式,不考虑高并发的情况下,应该怎样实现__packagemainvarm*SingletontypeSingletonstruct{}funcGetInstance()...
阅读全文

Golang并发模型:select进阶
2020-06-10 02:50 admin golangselect

最近公司工作有点多,Golang的select进阶就这样被拖沓啦,今天坚持把时间挤一挤,把吹的牛皮补上。前一篇文章[《Golang并发模型:轻松入门select》](https://mp.weixin.qq.com/s/ACh-TGlPo72r4e6pbh52vg)介绍了select的作用和它的基本用法,这次介绍它的3...
阅读全文

golang 遍历时元素指针问题
2020-06-10 02:50 admin golang指针

问题>golang执行for遍历时取value的指针时容易出错代码实现__packagemainimport("log""time")typestudentstruct{NamestringAgeint}funcmain(){m:=make([]*student,3)stus:=[]student{student{Na...
阅读全文

golang 基础(10)函数返回值
2020-06-10 02:49 admin golang返回值

square-gopher.png返回值在go语言中函数支持**多个返回值**__funcdiv(a,bint)(int,int){returna/b,a%b}我们也可以给函数返回值打上标签q,r__funcdiv(a,bint)(q,rint){returna/b,a%b}我们可以用两个变量来接受函数返回值__a,b...
阅读全文

golang 基础(12)指针
2020-06-10 02:49 admin golang指针

square-gopher.png指针在go语言中指针没有c++中那么复杂,因为没有指针的运算。什么时候用指针,也就是指针的用途*可能结构相对复杂数据你不想在程序中传递数据,可以通过传递地址*变量一致性在多数语言中函数的参数传递有两种*值传递值传递会保证没有sideeffect,更改函数内的变量不会影响外面的变量*引用...
阅读全文

golang 基础(9)函数
2020-06-10 02:49 admin golang函数

square-gopher.png函数函数是由函数名,参数,返回值和函数体所组成。__funcadd(a,bint)int{}定义函数并且复习一下之前的switch语句__funceval(a,bint,opstring)int{switchop{case"+":returna+bcase"-":returna-bca...
阅读全文
顶部 底部