摘要:
一、安装sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose $ sud 阅读全文
摘要:
package main import "fmt" import "time" func sum(s []int, c chan int,order int) { sum := 0 for _, v := range s { sum += v } c <- sum // 把 sum 发送到通道 c 阅读全文
摘要:
#go语言的time包 ##组成 time.Duration(时长,耗时) time.Time(时间点) time.C(放时间点的管道)[ Time.C:=make(chan time.Time) ] time包里有2个东西,一个是时间点,另一个是时长 时间点的意思就是“某一刻”,比如 2000年1 阅读全文
摘要:
o 语言通过内置的错误接口提供了非常简单的错误处理机制。 error类型是一个接口类型,这是它的定义: 我们可以在编码中通过实现 error 接口类型来生成错误信息。 函数通常在最后的返回值中返回错误信息。使用errors.New 可返回一个错误信息: 在下面的例子中,我们在调用Sqrt的时候传递的 阅读全文
摘要:
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 实例 实例 /* 定义接口 */ type interface_name interface { method_name1 [return_type] method_nam 阅读全文
摘要:
Go 语言递归函数 递归,就是在运行的过程中调用自己。 语法格式如下: func recursion() { recursion() /* 函数调用自身 */ } func main() { recursion() } func recursion() { recursion() /* 函数调用自身 阅读全文
摘要:
定义 Map 可以使用内建函数 make 也可以使用 map 关键字来定义 Map: 如果不初始化 map,那么就会创建一个 nil map。nil map 不能用来存放键值对 实例 下面实例演示了创建和使用map: 实例 package main import "fmt" func main() 阅读全文
摘要:
Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值。 实例 实例 package main import "fm 阅读全文
摘要:
Go 语言切片是对数组的抽象。 Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。 定义切片 你可以声明一个未指定大小的数组来定义切片: 切片不需要说明 阅读全文
摘要:
声明数组 Go 语言数组声明需要指定元素类型及元素个数,语法格式如下: 以上为一维数组的定义方式。例如以下定义了数组 balance 长度为 10 类型为 float32: 初始化数组 以下演示了数组初始化: 初始化数组中 {} 中的元素个数不能大于 [] 中的数字。 如果忽略 [] 中的数字不设置 阅读全文
摘要:
结构体是作为参数的值传递: 结果为: 如果想在函数里面改变结果体数据内容,需要传入指针: 阅读全文
摘要:
package main import ( "fmt" ) /* 定义结构体 */ type Circle struct { radius float64 } func main() { var c1 Circle c1.radius = 10.00 fmt.Println("圆的面积 = ", c 阅读全文
摘要:
package main import "fmt" func main() { add_func := add(1,2) fmt.Println(add_func(1,1)) fmt.Println(add_func(0,0)) fmt.Println(add_func(2,2)) } // 闭包使 阅读全文
摘要:
函数作为参数传递,实现回调。 阅读全文
摘要:
switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。 switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。 switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 c 阅读全文
摘要:
判断用户密码输入: 阅读全文
摘要:
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式: 你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。 显式类型定义: const b string = "abc" 隐式类型定义: const b = "abc" 常量还可以用作枚举 阅读全文
摘要:
空白标识符 _ 也被用于抛弃值,如值 5 在:_, b = 5, 7 中被抛弃。 _ 实际上是一个只写变量,你不能得到它的值。这样做是因为 Go 语言中你必须使用所有被声明的变量,但有时你并不需要使用从一个函数得到的所有返回值。 并行赋值也被用于当一个函数返回多个返回值时,比如这里的 val 和错误 阅读全文
摘要:
省略 var, 注意 := 左侧如果没有声明新的变量,就产生编译错误,格式: 例如: 可以将 var f string = "Runoob" 简写为 f := "Runoob": 阅读全文
摘要:
测试 Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成。 你可以通过创建一个名字以 _test.go 结尾的,包含名为 TestXXX 且签名为 func (t *testing.T) 函数的文件来编写测试。 测试框架会运行每一个这样的函数;若该函数调用了像 t.E 阅读全文