go语言开发交流qq群 857263711 保持进步 希望每个人都能找到自己喜欢的方式生活、工作。

2019年7月15日

go 结构的方法总结

摘要: 方法可以与命名类型或命名类型的指针关联。 刚刚看到的两个 Abs 方法。一个是在 *Vertex 指针类型上,而另一个在 MyFloat 值类型上。 有两个原因需要使用指针接收者。首先避免在每个方法调用中拷贝值(如果值类型是大的结构体的话会更有效率)。其次,方法可以修改接收者指向的值。 尝试修改 A 阅读全文

posted @ 2019-07-15 23:01 送欢 阅读(130) 评论(0) 推荐(0) 编辑

go 结构的方法2

摘要: 你可以对包中的 任意 类型定义任意方法,而不仅仅是针对结构体。 但是,不能对来自其他包的类型或基础类型定义方法。 package main import ( "fmt" "math" ) type MyFloat float64 //定义在了结构体上 func (f MyFloat) Abs() f 阅读全文

posted @ 2019-07-15 23:00 送欢 阅读(76) 评论(0) 推荐(0) 编辑

go struct 的方法1

摘要: 方法 Go 没有类。然而,仍然可以在结构体类型上定义方法。 方法接收者 出现在 func 关键字和方法名之间的参数中。 package main import ( "fmt" "math" ) //定义结构体 type Vertex struct { X, Y float64 } //定义结构的方法 阅读全文

posted @ 2019-07-15 22:57 送欢 阅读(187) 评论(0) 推荐(0) 编辑

go 函数闭包

摘要: Go 函数可以是闭包的。闭包是一个函数值,它来自函数体的外部的变量引用。 函数可以对这个引用值进行访问和赋值;换句话说这个函数被“绑定”在这个变量上。 例如,函数 adder 返回一个闭包。每个闭包都被绑定到其各自的 sum 变量上。 阅读全文

posted @ 2019-07-15 22:53 送欢 阅读(140) 评论(0) 推荐(0) 编辑

go map的定义和使用 键值对存储

摘要: 定义map var m map[string]int //定义map 初始化map m = make(map[string]int) //初始化map 修改map中ok 的值 m["ok"] =123 删除元素 delete(m, "Answer") 删除key=Answer的元素 定义map va 阅读全文

posted @ 2019-07-15 22:30 送欢 阅读(7046) 评论(0) 推荐(0) 编辑

go 通过赋值给 _ 来忽略序号和值

摘要: go 语言中 只要想忽略的值都需要用 下划线 _ 来代替 package main import "fmt" func main() { pow := make([]int, 10) for i := range pow { pow[i] = 1 << uint(i) } //忽略index的值 f 阅读全文

posted @ 2019-07-15 22:19 送欢 阅读(128) 评论(0) 推荐(0) 编辑

go for range 可以方便的对slice 切片或者 map 进行迭代循环

摘要: package main import ( "fmt" "math/rand" "time" ) func main() { //遍历切片 data := make([]int, 10) for index, val := range data { fmt.Println(index, val) } 阅读全文

posted @ 2019-07-15 22:14 送欢 阅读(398) 评论(0) 推荐(0) 编辑

go 构造切片slice

摘要: 定义切片 make([]int, 5) 长度和容量均为5 make([]int, 0, 5) 长度为0 容量为0 切片 slice2[3:5] 对slice2进行切片返回 第3 4 两个元素 不包含index=5这个元素 package main import "fmt" func main() { 阅读全文

posted @ 2019-07-15 22:00 送欢 阅读(426) 评论(0) 推荐(0) 编辑

go slice切片注意跟数组的区别

摘要: 一个 slice 会指向一个序列的值,并且包含了长度信息。 []T 是一个元素类型为 T 的 slice。 [2]string 这样定义久是字符数组 []string 这样定义就是切片 表面上看切片就是不指定长度的数组 package main import "fmt" func main() { 阅读全文

posted @ 2019-07-15 20:32 送欢 阅读(179) 评论(0) 推荐(0) 编辑

go 数组的定义和赋值

摘要: package main import "fmt" func main() { //字符数组定义 var str [2]string str[0] = "world" str[1] = "hello" fmt.Println(str) //赋值数组的第二种方法 str1 := [2]string{" 阅读全文

posted @ 2019-07-15 19:59 送欢 阅读(16968) 评论(0) 推荐(0) 编辑

导航