Fork me on GitHub
摘要: 在默认情况下,遇到错误时,程序会崩溃; 在发生错误时,我们可以捕获错误,使程序可以继续运行,并抛出错误提示; 错误处理: (1)Go语言追求简洁优雅,所以不支持传统的try catch finally; (2)引入的处理方式为:defer,panic,recover (3)这几个异常的使用场景可以这 阅读全文
posted @ 2019-11-19 17:12 西西嘛呦 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 1.用于求长度,占多少个字节 2.内置函数new:分配内存,主要用来分配值类型,比如int、float等,其第一个实参为类型,而非值,其返回值为指向该类型的新分配的零值的指针; 3.make:用来分配内存,主要用来分配引用类型,比如map、切片、管道等; 阅读全文
posted @ 2019-11-19 16:49 西西嘛呦 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 时间的常量,可以获得指定时间单位 Unix和UnixNano 小例子:统计函数运行的时间; 阅读全文
posted @ 2019-11-19 16:26 西西嘛呦 阅读(155) 评论(0) 推荐(0) 编辑
摘要: golang中ascii对应的字符占一个字节,而汉字占三个字节。 (1)统计字符串的长度len (2)字符串遍历,同时处理有中文的问题r:=[]rune(str) (3)字符串转整数:n,err:= strconv.Atoi("12") (4)整数转字符串:str = strconv.ltoa(12 阅读全文
posted @ 2019-11-19 15:55 西西嘛呦 阅读(309) 评论(0) 推荐(0) 编辑
摘要: (1)函数内部申明/定义的变量叫局部变量,作用域仅限于函数的内部; (2)函数外部申明/定义的变量叫全局变量,作用域在整个包都有效,如果其首字母为大写,则作用域是整个程序; (3)如果变量是在一个代码块内,比如在if/for中,那么这个变量的作用域就该代码块内; 阅读全文
posted @ 2019-11-19 15:07 西西嘛呦 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 两种传递方式: 值传递:值类型参数默认 引用传递:引用类型参数默认 一般来说,地址传递效率高,因为数据量小。 值类型:int、float、bool、string、数组、结构体; 引用类型:指针、切片、map、管道、接口 阅读全文
posted @ 2019-11-19 14:55 西西嘛呦 阅读(1166) 评论(0) 推荐(0) 编辑
摘要: 在函数中,程序员经常需要创建资源(比如,数据库连接,文件句柄,锁等),为了在函数执行完毕后,及时释放资源,go设计者提供defer(延时机制) 用defer申明的语句不会立即执行,而是被存入到defer栈中,在程序执行完毕后,再从栈中取出(先进后出): 需要注意的是,如果defer中存在值,会将相应 阅读全文
posted @ 2019-11-19 14:51 西西嘛呦 阅读(352) 评论(0) 推荐(0) 编辑