随笔分类 -  【007】go

摘要:1、在fmt.Printf()中使用%v可以直接输出每个字段的值,%+v可以打印出字段名,%#v可以输出类型信息(包括结构体名和包名);如果在格式化字符前面加上[i],旨在fmt.Printf("%+[1]v,%+[2]v",personA,personB)中指定使用personA还是personB 阅读全文
posted @ 2021-08-12 20:04 migui 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1、在映射中修改已有元素的值并添加新元素。 2、映射作为函数的参数,永远只发生前拷贝,并且与实参共享(即不会导致重新分配内存)。 3、从映射中删除元素时,如果指定的键不存在,那么不会报错而是什么也不发生。 4、内置函数copy能复制切片但不能复制映射。 5、映射的共享性举例。 阅读全文
posted @ 2021-08-10 20:46 migui 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1、函数作为值传递,主要应该注意的是区分出函数的起始到结束到底是从哪到哪,即函数签名(包括函数名、形参列表、返回值所构成的内容),当然了这就不是指函数体,因为函数体本来就有{}做范围提示起始和终止。 2、取模%运算只能用于整数,并且取模运算的结果其符号与被除数保持一致,例如: (1)(-5)÷3=- 阅读全文
posted @ 2021-02-26 22:13 migui 阅读(48) 评论(0) 推荐(0) 编辑
摘要:1、下面是用于测试具名返回值的例程,但是出现了一个错误,编译之后 系统给出了提示,找到带有红色波浪线并且出错的那一条语句,因为:=代表赋值和声明,而签名中已经出现过了sum,sub,mul了(不像noname()函数,它只是给出了三个int,int,int,而没有具体指名),所以再在函数体内使用具有 阅读全文
posted @ 2021-01-23 20:41 migui 阅读(65) 评论(0) 推荐(0) 编辑
摘要:1、在go中,函数可以同时返回多个值,写法如下: func GetFuncValue() (i, string) { ... return i, s } 2、函数调用之后用于接收返回值的变量也应要有多个进行对应,写法如下: RecIvalue, RecSvalue := GetFuncValue() 阅读全文
posted @ 2021-01-20 22:19 migui 阅读(56) 评论(0) 推荐(0) 编辑
摘要:1、实参和形参分处不同的内存空间中,在向子函数中传入参数后,函数开辟新的空间用于存储变量,例程如下:2、如果想要传入的形参与原来的变量在值以及存储空间上均保持一致,那么更改为传递实参的地址指针即可,例程变化如下:3、常量一旦声明后允许被引用但不能修改其值,如下举例不是说不能修改字符串(因为字符串本来 阅读全文
posted @ 2021-01-14 22:07 migui 阅读(57) 评论(0) 推荐(0) 编辑
摘要:1、生命期是一块内存被占用的时段,是内存概念,属于运行期。 2、作用域是一个源代码的文本区域,是语法概念,属于编译期。 3、控制流标号都是函数级作用域。 4、例程:5、指针变量的零值是nil,即空指针。 6、指针之间可以进行相等性判断,只有都指向空或同一个变量时才相等。 7、在C或C++中野指针(在 阅读全文
posted @ 2021-01-14 19:25 migui 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1、go中声明一个变量时如果未给其赋值,系统会将其赋值一个默认值,这个值被称为“零值”,零值不一定就是0,既不是空值,也不是未定义值(所以go中就不存在未定义状态,因此这和C在这一点上有些区别,而如果要检查变量是否被赋值,就不能检查其是否为空值,而是需要检查其是否为零值),需要根据被定义的变量类型所 阅读全文
posted @ 2020-11-21 01:09 migui 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1、声明一个变量的同时赋予初值: 2、声明一个变量但在后面使用到时再进行赋值,所以变量一开始被声明时被系统默认赋值为空字符串: 3、同类型变量可以在同一行进行声明,但需要用逗号间隔开,不同类型变量需要用小括号()包括起来,并且不能写在同一行,但是在编写该示例的过程中出现了一个提示,编译结果没有出现, 阅读全文
posted @ 2020-10-27 23:57 migui 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1、类型检查,即通过已声明的变量来反推它的类型。 2、例程: (1)报错: reflect.go:1:1: expected 'package', found 'EOF' 办法之一:先保存再RUN (2)报错: reflect.go:3:8: expected 'STRING', found '{' 阅读全文
posted @ 2020-10-16 01:40 migui 阅读(194) 评论(0) 推荐(0) 编辑
摘要:1、如果不显式指定字长,而只使用uint的话,在某些编译器上就会被实现为32位,而在另一些编译器上则被实现为64位。 2、虽然byte和uint8等价,但是byte更倾向于指代内存中的一个字节,而非一个小整数。 3、无符号整数类型uintptr长度不定,但是足以容纳一个指针,用于与C程序的交互。 4 阅读全文
posted @ 2020-10-06 16:51 migui 阅读(95) 评论(0) 推荐(0) 编辑
摘要:1、C中可以使用1和0代表真和假,但是go中不允许,go中的bool只能是true和false。 2、在没有给bool类型的变量进行显式赋值时,系统默认为false。 3、特殊整型rune与int32等价,通常用于表示unicode字符码点。 阅读全文
posted @ 2020-09-25 00:51 migui 阅读(85) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示