2021年4月30日

方法

摘要: Go方法总是绑定对象实例,并隐式将实例作为第一实参。 只能为当前包内命名的类型 定义方法 参数可任意命名,如果方法中未曾使用,可省略参数名 参数类型可以是T或*T,基类型T不能是接口或指针 不支持方法重载 可用实例调用全部方法,编译器自动转换 一个方法就是一个包含了接受者的函数,接受者可以是命名类型 阅读全文

posted @ 2021-04-30 16:54 二十四岁半 阅读(47) 评论(0) 推荐(0) 编辑

2021年4月22日

类型别名 与 自定义类型

摘要: 类型别名: 别名是1.9版本添加的新功能 type TypeAlias = Type type byte = uint8 type rune = int32 自定义类型: 在Go中有基本的数据类型,比如:string,int,bool等。还可以使用type关键字来自定义类型。 自定义类型是定义了一个 阅读全文

posted @ 2021-04-22 15:33 二十四岁半 阅读(112) 评论(0) 推荐(0) 编辑

结构体

摘要: Go中没有"类"的概念,也不支持"类"的继承等面向对象的概念。 Go中通过结构体的内嵌,再配合接口,比面向对象具有更高的扩展性和灵活性。 Go语言中的基础数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或者部分属性时,这时候再用单一的基本数据类型明显就无法满足需求了,Go语言提供了 阅读全文

posted @ 2021-04-22 11:37 二十四岁半 阅读(68) 评论(0) 推荐(0) 编辑

2021年4月21日

map

摘要: map是一种无序的基于k-v的数据结构,Go语言中的map是引用类型,必须初始化才能使用。 语法:map[KeyType]ValueType map类型的变量默认初始值为nil,需要使用make()函数初始化来分配内存, make(map[KeyType]ValueType,[cap]) cap表示 阅读全文

posted @ 2021-04-21 17:36 二十四岁半 阅读(128) 评论(0) 推荐(0) 编辑

指针

摘要: 指针: 区别于 C/C++ 中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 Go中指针的3个概念:指针地址,指针类型,指针取值。 Go语言中的指针: Go语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候,我们可以创建一个指向该变量地址的指针变量。传递数据使用指针,而不需要拷贝数据 阅读全文

posted @ 2021-04-21 14:23 二十四岁半 阅读(59) 评论(0) 推荐(0) 编辑

2021年4月18日

copy ---- 数组,切片

摘要: package main import ( "fmt" ) func main() { data := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} // 数组 与 切片 结果一致 // data := [...]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 阅读全文

posted @ 2021-04-18 11:29 二十四岁半 阅读(43) 评论(0) 推荐(0) 编辑

2021年4月16日

fmt ---- Print,Printf,Println

摘要: Print 与 Println package main import "fmt" func main() { fmt.Print("a","\n") // a fmt.Print("hello","\n") // hello fmt.Print('a',"\n") // 97 单引,输出字符的十进 阅读全文

posted @ 2021-04-16 11:51 二十四岁半 阅读(178) 评论(0) 推荐(0) 编辑

2021年4月15日

值拷贝 与 引用拷贝,深拷贝 与 浅拷贝

摘要: map,slice,chan 是引用拷贝;引用拷贝 是 浅拷贝 其余的,都是 值拷贝;值拷贝 是 深拷贝 深浅拷贝的本质区别: 是否真正获取对象实体,而不是引用 深拷贝: 拷贝的是数据本身,创造一个新的对象,并在内存中开辟一个新的内存地址,与原对象是完全独立的,不共享内存,修改新对象时不会影响原对象 阅读全文

posted @ 2021-04-15 20:06 二十四岁半 阅读(877) 评论(0) 推荐(0) 编辑

go 获取数据类型

摘要: package main import ( "fmt" "reflect" ) func main() { var a = [3]int{1,2,3} var b []int fmt.Println(reflect.TypeOf(a)) // [3]int fmt.Println(reflect.T 阅读全文

posted @ 2021-04-15 10:54 二十四岁半 阅读(58) 评论(0) 推荐(0) 编辑

2021年4月14日

切片 Slice

摘要: 切片,并不是数组或数组指针,它通过内部指针和相关属性引用数组片段,以实现变长方案。 切片是数组的一个引用,因此切片是引用类型,但自身是结构体,值拷贝传递 切片的长度是可以改变的,因此,切片是一个可变的数组 切片的遍历方式和数组一样,可以用len()求长度,表示可用元素数量,读写操作不能超过该限制 c 阅读全文

posted @ 2021-04-14 17:39 二十四岁半 阅读(69) 评论(0) 推荐(0) 编辑

导航