2019年12月8日
摘要: 1、无缓冲通道 Go语言中无缓冲的通道(unbuffered channel)是指在接收前没有能力保存任何值的通道。这种类型的通道要求发送 goroutine 和接收 goroutine 同时准备好,才能完成发送和接收操作。如果两个 goroutine 没有同时准备好,通道会导致先执行发送或接收操作 阅读全文
posted @ 2019-12-08 19:43 acgame 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 1、轻量级线程 goroutine 是 Go语言中的轻量级线程实现,由 Go 运行时(runtime)管理。Go 程序会智能地将 goroutine 中的任务合理地分配给每个 CPU。Go 程序从 main 包的 main() 函数开始,在程序启动时,Go 程序就会为 main() 函数创建一个默认 阅读全文
posted @ 2019-12-08 16:48 acgame 阅读(336) 评论(0) 推荐(0) 编辑
  2019年12月7日
摘要: 1、基本概念 Go语言是使用包来组织源代码的,并实现命名空间的管理。任何源代码文件必须属于某个包。源码文件的第一行有效代码必须是 package pacakgeName 语句,通过该语句声明自己所在的包。 1)概念 Go语言的包借助了目录树的组织形式,一般包的名称就是其源文件所在目录的名称,虽然 G 阅读全文
posted @ 2019-12-07 22:43 acgame 阅读(304) 评论(0) 推荐(0) 编辑
  2019年12月3日
摘要: 1、嵌套 在 Go语言中,不仅结构体与结构体之间可以嵌套,接口与接口间也可以通过嵌套创造出新的接口。 一个接口可以包含一个或多个其他的接口,这相当于直接将这些内嵌接口的方法列举在外层接口中一样。只要接口的所有方法被实现,则这个接口中的所有嵌套接口的方法均可以被调用。 2、接口和类型间的转换 Go语言 阅读全文
posted @ 2019-12-03 23:12 acgame 阅读(349) 评论(0) 推荐(0) 编辑
  2019年12月1日
摘要: 1、定义 Go 语言的接口设计是非侵入式的,接口编写者无须知道接口被哪些类型实现。而接口实现者只需知道实现的是什么样子的接口,但无须指明实现哪一个接口。编译器知道最终编译时使用哪个类型实现哪个接口,或者接口应该由谁来实现。 每个接口类型由数个方法组成。接口的形式代码如下: type 接口类型名 in 阅读全文
posted @ 2019-12-01 12:41 acgame 阅读(644) 评论(0) 推荐(0) 编辑
  2019年11月24日
摘要: 1、内嵌 结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。匿名字段本身可以是一个结构体类型,即结构体可以包含内嵌结构体。 注意:在一个结构体中对于每一种数据类型只能有一个匿名字段。 1)内嵌的结构体可以直接访问其成员变量 嵌入结 阅读全文
posted @ 2019-11-24 18:23 acgame 阅读(1239) 评论(0) 推荐(0) 编辑
摘要: 1、方法和接收器 在Go语言中,结构体就像是类的一种简化形式,那么类的方法在哪里呢?在Go语言中有一个概念,它和方法有着同样的名字,并且大体上意思相同,Go 方法是作用在接收器(receiver)上的一个函数,接收器是某种类型的变量,因此方法是一种特殊类型的函数。 接收器类型可以是(几乎)任何类型, 阅读全文
posted @ 2019-11-24 16:21 acgame 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 1、定义 Go语言可以通过自定义的方式形成新的类型,结构体就是这些类型中的一种复合类型,结构体是由零个或多个任意类型的值聚合成的实体,每个值都可以称为结构体的成员。 结构体成员也可以称为“字段”,这些字段有以下特性: 字段拥有自己的类型和值; 字段名必须唯一; 字段的类型也可以是结构体,甚至是字段所 阅读全文
posted @ 2019-11-24 15:13 acgame 阅读(2769) 评论(0) 推荐(0) 编辑
  2019年11月17日
摘要: 1、函数 1)声明 函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。 func 函数名(形式参数列表)(返回值列表){ 函数体} 如果一个函数在声明时,包含返回值列表,那么该函数必须以 return 语句结尾,除非函数明显无法运行到结尾处,例如函数在结尾时调用了 panic 异常或 阅读全文
posted @ 2019-11-17 21:23 acgame 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 1、if 格式: if condition1 { // do something} else if condition2 { // do something else}else { // catch-all or default} else if 分支的数量是没有限制的。关键字 if 和 else 阅读全文
posted @ 2019-11-17 19:26 acgame 阅读(310) 评论(0) 推荐(0) 编辑