网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
golang 基础(23)channel
golang_real.jpggoroutine也就是协程间通讯是通过channel来实现的,channel将信息从一个goroutine传递到给另一个gorout。golang_channel.jpg__funcmain(){messages:=make(chanstring)gofunc(){messages<-"...
阅读全文
【Golang 基础】Go 语言 面向对象
Go语言的面向对象Go语言的面向对象非常简单,**仅支持封装,不支持继承和多态。继承和多态是在接口中实现的。**因此Go语言中没有`class`,而是通过`struct(结构体)`对相同类型或不同类型的数据进行封装。*通过`typestruct{}`格式定义结构体;__typeUserstruct{Namestring...
阅读全文
【Golang 基础】Go 语言的接口
Go语言中的接口Go语言中的接口就是方法签名的集合,接口只有声明,没有实现,没有数据字段。***只要某个类型拥有了该接口的所有方法,即该类型就算实现了该接口**,无需显式声明实现了哪个接口,这被称为`StructurolTyping`;__packagemainimport"fmt"//定义Usb接口typeUsbin...
阅读全文
golang 基础(25)channel
golang_real.jpgchannel是go语言提供goroutine间进行通信方式,channel是CSP设计的坚强后盾。实现了goroutine间通讯不是通过共享数据而是通过通讯来实现的。使用channel在两个或多个goroutine之间传递消息。channel是进程内的通讯方式。channel本身就是指针...
阅读全文
golang 基础(26)select
golang_real.jpgselect是Go中的一个控制结构,类似于switch语句,用于处理异步IO操作。select会监听case语句中channel的读写操作,当case中channel读写操作为非阻塞状态(即能读写)时,将会触发相应的动作。__funcmain(){c1:=make(chanstring)c...
阅读全文
golang 基础(29) 接口
square-gopher.png在go语言接口更重视使用者,使用者是否承认和使用接口才是重要的,这里定义Retriever接口提供Get方法,所有具有Get方法的都可以认为是接口__packagemainimport("fmt""com.zidea/util/mock")typeRetrieverinterface{...
阅读全文
golang 基础(28)defer
square-gopher.png资源管理与出错处理defer调用在介绍defer之前我们先看一个例子做一个小实验th-6.jpeg__funcmain(){fmt.Println("start")fmt.Println("middle")fmt.Println("end")}__startmiddleend在控制台输...
阅读全文
golang type struct 只写成员类型的 匿名字段。
今天看代码,看到个奇怪的代码:>typeMssqlstruct>>{>>***sql.DB**>>dataSourcestring>>databasestring>>windowsbool>>saSA>>}这真是蛋疼了。***sql.DB是什么鬼啊?为什么只有类型没有字段名啊?**看来没有系统看过golang语法真是够...
阅读全文
【Golang 基础】Go 语言的控制语句
Go语言的控制语句([示例代码](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2FSilenceHVK%2Ffun-golang%2Fblob%2Fmaster%2Fsrc%2Fbasic%2Fcontroller.go))判断语句`if-else`...
阅读全文
【Golang 基础】Go 语言的数组
Go语言中的数组*定义数组的格式:`var[n]`,其中n>=0;__packagebasicimport"fmt"funcDeclaratArray(){//定义指定长度的数组vararr1[5]intfmt.Println(arr1)//[00000]//不设置数组长度arr2:=[...]int{}fmt.Pri...
阅读全文
golang 基础(19)字符串
square-gopher.png字符和字符串处理__funcmain(){s:="Yes我爱Go!"fmt.Printf("%s\n",[]byte(s))}这样打印出是就是"Yes我爱Go!"、打印一下(`fmt.Println(len(s))`)输出s长度为12。那么这个12是怎么来的呢。__fmt.Printf...
阅读全文
golang 基础(20) 接口
square-gopher.pnginterface.jpg接口什么是interface提到接口,我们会联想到汽车的接口,也就是让司机如何操作汽车按自己意愿使用,用户界面也是接口,会联想到很多很多。接口看了很多,对初学者比较难理解,但是一旦理解了并可以灵活运用了,接口power还是很大的。接口可以理解是规范、协议、用户...
阅读全文
【Golang 基础】Go 语言的切片
Go语言的切片([示例代码](https://links.jianshu.com/go?to=https%3A%2F%2Fgithub.com%2FSilenceHVK%2Ffun-golang%2Fblob%2Fmaster%2Fsrc%2Fbasic%2Fslice.go))`Slice`是一个通过指向数组底层,来...
阅读全文
golang 基础(21)协程
golang_real.jpg并发编程在函数前面加一个关键字go这个函数就被放入到一个协程中执行,goroutine是go语言的核心技术。在go语言中没有线程概念,相对于线程是通过语言框架提供更轻量级greenthread来实现非阻塞异步编程。在go语言中是采用concorrent而非parallel实现异步编程。...
阅读全文
golang链接mssql数据库挖坑,填坑
先是用了github.com上面星星最多的一个库"github.com/denisenkom/go-mssqldb",可是死活连不上我的mssqldb,提示是LoginError:EOF,搞不清怎么回事。后来没办法又查到一个"github.com/mattn/go-adodb"说是用的原生的activex?不知道能不能...
阅读全文