![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言
文章平均质量分 60
小黑王HK
这个作者很懒,什么都没留下…
展开
-
Go语言编程基础 方法与接口(一)——方法、指针接收者
1 方法Go没有类,但是可以为结构体类型定义方法。方法就是一类带特殊的接收者参数的函数。方法接收者在它自己的参数列表内,位于func关键字和方法名之间。package mainimport "fmt"type sss struct{ aa, bb int}func (s sss) mmm() { fmt.Println(s.aa, s.bb)}func main...转载 2018-11-09 10:52:02 · 740 阅读 · 0 评论 -
Go语言编程基础 结构体、切片与映射(五)(完结)——映射、函数值、闭包
学习源:Go 指南转载 2018-11-08 17:28:32 · 344 阅读 · 0 评论 -
Go语言编程基础 结构体、切片与映射(三)——切片、make
10 切片的默认行为在进行切片时,可以使用切片的默认行为来忽略上下界。切片下界的默认值为0,上界则是该切片的长度。对于数组:var a [10]int以下切片等价:a[0, 10]a[: 10]a[0:]a[:]package mainimport "fmt"func main() { iii := [4]int{0, 1, 2, 3} s1 := ii...转载 2018-11-08 15:08:58 · 700 阅读 · 0 评论 -
Go语言编程基础 结构体、切片与映射(二)——数组、切片
6 数组类型[n]T表示拥有n个T类型的值的数组。表达式var a [10]int将变量声明为拥有10个整数的数组。数组的长度为其类型的一部分,因此数组无法改变大小。package mainimport "fmt"func main() { var a [2]string a[0] = "iiiii" a[1] = "jjjjj&转载 2018-11-08 11:44:34 · 173 阅读 · 0 评论 -
Go语言编程基础 结构体、切片与映射(一)——指针、结构体
1 指针学习源:Go指南转载 2018-11-08 10:58:12 · 473 阅读 · 0 评论 -
Go语言编程基础 并发(一)——Go程、信道
学习源:Go 指南转载 2018-11-13 16:34:25 · 776 阅读 · 0 评论 -
Go语言编程基础 流程控制语句(二)(完结)
switchswitch是编写一连串if-else语句的简便方法,它运行第一个值等于条件表达式的case语句。Go只运行选定的case,而非之后所有的case。Go自动提供了每个case后面所需的break语句。除非以fallthrough语句结束,否则分支会自动终止。switch的求值顺序没有条件的switchdefdefer栈学习源:Go指南...转载 2018-11-08 09:26:46 · 126 阅读 · 0 评论 -
Go语言编程基础 方法与接口(四)(完结)——Stringer、Reader、Image
14 Stringerfmt包中定义的Stringer是最普遍的接口之一。type Stringer interface { String() string}Stringer是一个可以用字符串描述自己的类型。fmt包(还有很多包)都通过此接口来打印值。package mainimport "fmt"type ss struct{ ii int}func (s ss)...转载 2018-11-13 15:28:10 · 318 阅读 · 0 评论 -
Go语言编程基础 流程控制语句(一)
forGo只有一种循环结构:for循环基本的for循环由三部分组成,它们用分号隔开:初始化语句:在第一次迭代前执行条件表达式:在每次迭代前求值后置语句:在每次迭代的结尾执行初始化语句通常为一条短变量声明,该变量声明仅在for语句的作用域中可见。一旦条件表达式的布尔值为false,循环迭代就是终止。Go的for语句后面没有小括号,大括号{}是必须的。package main...转载 2018-11-07 17:21:41 · 120 阅读 · 0 评论 -
Go语言编程基础 包、变量、函数(三)(完结)
类型转化表达式T(v)将值v转为类型T。与C不同,Go在不同类型的项之间赋值时需要显示转换。package mainimport "fmt"func main() { var x, y, z= 1, 2, 3 var f float64 = 123.456 var ccc uint = 'c' x = int(ccc) y = int(f) f = float6...转载 2018-11-07 16:07:28 · 99 阅读 · 0 评论 -
Go语言编程基础 包、变量、函数(二)
变量var 语句用于声明变量列表,与函数的参数列表相同,类型放在最后。package mainimport "fmt"var c, python, java boolfunc main() { var i int fmt.Println(i, c, python, java)}变量初始化变量声明可以包含初始值,每个变量对应一个。如果初始值已存在,可以省略类型,变量...转载 2018-11-07 15:03:18 · 152 阅读 · 0 评论 -
Go语言编程基础 包、变量、函数(一)
包Go程序由包构成程序从main包开始运行。包命与导入路径的最后一个元素一致。e.g."math/rand"中源码以package rand开始。package mainimport ( "fmt" "math/rand")func main() { fmt.Println("The number is &a转载 2018-11-07 14:21:40 · 218 阅读 · 0 评论 -
Go语言 声明语法
1 概述Go语言与C系列语言的声明语法不同,此文比较了两种声明方式,并且解释了Go语言的声明为何如此。2 C 语法C采用了一种独特且聪明的声明语法。没有使用特殊的语法来描述类型,而是使用了一个涉及被声明项的表达式,然后说明此表达式的类型。int x;note:声明x未int,即表达式’x’具有类型int。通常,为了给新变量编写类型类型,编写一个涉及此变量的表达式,此表达式的结果为...翻译 2018-11-07 13:57:16 · 301 阅读 · 1 评论 -
Go语言编程基础 方法与接口(三)——类型断言、类型选择
12 类型断言类型断言提供了访问接口值底层具体值的方式。t := i.(T)note:断言接口值i保存了具体类型T,并将底层类型为T的值赋予变量t。note:若i并未保存T类型的值,该语句触发一个panic。为了判断一个接口值是否保存了一个特定的类型,类型断言可返回两个值:其底层值以及一个报告断言是否成功的布尔值。t, ok := i.(T)note:如果i保存了一个T,那么t将...转载 2018-11-09 14:42:43 · 142 阅读 · 0 评论 -
Go语言编程基础 方法与接口(二)——接口
6 接口接口类型是由一组方法签名定义的集合。接口类型的变量可以保存任何实现了这些方法的值。package mainimport "fmt"type iii interface { fff()}type kkk intfunc (v kkk) fff() { fmt.Println("kkk type")}type lll float64func (v *ll...转载 2018-11-09 14:02:57 · 183 阅读 · 0 评论 -
Go语言编程基础 并发(二)(完结)——range、close、select、sync.Mutex
4 range和close学习源:Go 指南转载 2018-11-14 09:47:32 · 457 阅读 · 0 评论