分类 糟心语言 中的文章

java lamdba表达式详解

Function接口详解 compose: 先应用beforefunction,再应用实例的function 实际上:将两个function组合在一起了。先执行before方法,然后将处理的结果传递给当前对象的apply方法。实现了两个function的串联。既然实现了两个functi

阅读全文

go 反射教程

什么是反射 反射用于检查自身的结构,属于元程序编程 每个语言的反射机制都是不同的,有的语言没有反射 go语言的反射机制建立在类型系统之上 反射获取基本类型 reflect.TypeOf,获取变量的类型,返回reflect.Type类型 reflect.ValueOf,获取变量的值,返回ref

阅读全文

go interface教程

什么是接口 接口可以理解为规范,就是制定了你需要怎么去做,而他自己什么都不做的一个东西 接口格式 type 接口名称 interface{ ​ 定义的主体 } type Person interface { Say() Sport() } type People struct { name string } func (p People) Say() { fmt.Println("这个人说话了") } func (p People) Sport() { fmt.Printf("%s 移动了", p.name) } func main() { var person Person peo := People{ name: &q

阅读全文

go struct教程

什么是struct ​ 当我们在使用系统内在类型无法表示的时候,我们需要自己生命一些属性,单这些属性又是同归于一个实物的时候,我们叫做Struct(结构体)。 结构体的格式 type 结构体名 struct { ​ 字段名:字段类型 ​ 字段名:字段类型 ​ …….. } 实例: type shop struct{ shopname string shopaddr string shoptel string } 结构体实例化 var 结构体实例名称 结构

阅读全文

go func教程

什么是函数 一段可以被别人重复 使用的代码块就是函数。 函数的格式 func 函数名 (参数)(返回值){ ​ ……………. } 备注:函数名命名规则参考变量 func sum(a int, b int) (c int) { return a + b } 函数的使用 var fff int = 100 var c int = 1001 func main() { var a int = 2 var b int = 5 // 函数有返回值是可以不接受的 sum(a, b) d := sum(a, b) fmt.Println(d) // 当然更可以忽略特定 _, _, r := add(a, b) fmt.Println(r)

阅读全文

go map教程

什么是Map Map 是一种无序的基于k/v的数据结构,go语言的map是引用类型,这个是区别于数组的,还记得上个文章我说的array是值类型吗?忘了从头看去! map定义 map[k类型]v类型 备注:map因为是引用类型,那么必须初始才能使用,否则他是一个nil,我们是是用make来初始。

阅读全文

go语言之切片(slice)教程

什么是切片 ​ 我们前边讲解了数组,是不是发现每次都需要声明固定的长度,这某些场合可能就不太适合使用了,在这个时候go语言开发者们也想到了,于是乎提供了一个可变的数组(即切片)。 切片格式 var 变量名 []类型 func main() { var age []int = []int{1, 2, 3, 4, 5, 6} fmt.Println(age) name := []string{"张三", &

阅读全文

go 数组教程

数组 什么是数组,数组就是同一种元素在一起的集合,集合看成猪圈就可以了,就是一群煮在一个猪圈,这就是数组!(有点狭义,但是理解容易) 数组的定义 var 数组变量名称 [数组里装的个数]数组类型 func main() { var age [7]int = [7]int{1, 2, 3, 4, 5, 6, 7} fmt.Println(age) var num = [7]int{1, 2, 3, 4, 5, 6, 7} fmt.Println(num) var year [7]int year = [7]int{1, 2, 3, 4, 5, 6, 7} fmt.Println(year) var moon [2]string = [2]string{"haha", "dudu"} fmt.Println(moon) var day = [...]int{1,

阅读全文

go语言流程控制

流程控制 ​ 如果没有流程控制,就会一条道走到黑,比如我们去买菜,肯定要付款才能拿走,在比如我们去上班,可以选择交通工具,这其中都是有流程的管理,更比如考试程序及格与不及格这都是选择的结果! Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复

阅读全文

go实现99乘法表

99乘法表 func main() { // 输出99乘法表 for i := 1; i <= 9; i++ { for j := 1; j <= i; j++ { fmt.Printf("%d * %d = %d ", i, j, i*j) } fmt.Println() } }

阅读全文