![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言
文章平均质量分 92
初步学习一下go语言,做些小笔记。
EdenGabriel
no why,just do.
展开
-
Go语言基础篇--11.Go语言之【panic+recover】
panic和recovergo语言使用panic和recover来处理程序当中出现的异常。go抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。一般的,recover配合defer使用。示例代码:package mainimport "fmt"func main() { testA() defer printInfo("-----3") testB(8) defer printInfo("-----4")}func printInfo(原创 2020-06-22 18:33:23 · 432 阅读 · 0 评论 -
Go语言基础篇--10.Go语言之【type关键字+error】
1.type关键字1.1type myint inttype myint2 = int对于type myint int这句代码来说,其含义是重新定义一个新的类型为myint,在下述代码当中,如果讲a赋值给a1就会报错cannot use a(type int)as type myint in assignment\color{red}{cannot use a (type int) as type myint in assignment}cannot use a(type int)as t原创 2020-06-22 16:23:51 · 507 阅读 · 0 评论 -
Go语言基础篇--9.Go语言之【方法+接口】
1.方法概念:方法实际上是一个包含了接收者的函数,接收者可以是命名类型或者结构体的一个值或一个指针。语法:之前所提到的结构体嵌套,如果被嵌套的结构体被定义为匿名字段,那么此时被嵌套的结构体与结构体本身两者之间是继承的关系,相当于面向对象语言当中类的继承。如果不是匿名字段,那么两者之间是包含关系,即其中一个结构体包含了另一个结构体。func (name type) funcName(parameter List)(return List) {......}示例:type Address st原创 2020-06-22 10:52:24 · 273 阅读 · 0 评论 -
Go语言基础篇--8.Go语言之【指针+结构体】
1.指针概念:存放数据的内存地址func main() { a := 10 fmt.Printf("a的地址是:%p\n", &a) /*定义指针*/ var p1 *int fmt.Println(p1) p1 = &a fmt.Println("p1的数值为:", p1) fmt.Printf("p1的地址是:%p\n", &p1) fmt.Println("p1指向的数值为:", *p1) a = 100 fmt.Printf("a的地址是:%p\原创 2020-06-21 15:04:14 · 378 阅读 · 0 评论 -
Go语言基础篇--7.Go语言之【回调函数+闭包】
1.回调函数函数的类型定义:func(parameter_type,parameter1_type1...)(output_type0, ...)定义两个函数func1()和func2(),如果讲func1函数作为func2函数的参数传给func2,那么此时func2函数可算作是高阶函数,func1函数则为回调函数。示例:func main() { res := operate(1, 5, add)//这里要注意,要写add而不是add(),add()表示的是函数的执行结果 fmt.Print原创 2020-06-20 16:51:22 · 464 阅读 · 0 评论 -
Go语言基础篇--6.Go语言之【函数定义+可变参+递归函数+defer关键字】
1.函数定义格式如下:/*Go语言中的函数定义*//*func funcName(parametername type1, ..., ....) (output1 type1, output2 type2){//可返回多个值return value1,value2}*/示例代码:func getSum(number int) int { /*求和: 计算1-n的和 */ sum := 0 for i := 1; i <= number; i++ { sum原创 2020-06-20 15:49:45 · 171 阅读 · 0 评论 -
Go语言基础篇--5.Go的复合数据类型【数组array+切片slice+map】
1.数组(array)概念:存储一组相同数据类型的容器/*array 定义*/var variable_name [SIZE] variable_type/*定义*/var array0 [5]intvar array1 = [5]int{54, 5}var array2 = [5]int{2: 54, 4: 5}//将数组的第2位设置为54,第4位设置为5var array3 = [...]int{54, 7: 5}//可不设置array的长度,会根据后续定义的数组自动确定数据长度f原创 2020-06-19 17:13:03 · 292 阅读 · 0 评论 -
Go语言基础篇--4.Go语言之【if+switch+for语句】
特例go语言中if语句中可以包含变量的申明,但是其作用域仅仅在当前的if语句结构当中可用 if num := 99; num >= 60 { fmt.Printf("分数为:%d.恭喜及格\n", num) } else { fmt.Printf("分数为:%d.不及格\n", num) }如上,num在该if-else结构语句当中定义,因此其作用域仅仅在该语句结构当中有效。switch-case语句case是无序的case后的数值是唯一的case后可跟随多个数值cas原创 2020-06-19 09:47:16 · 211 阅读 · 0 评论 -
Go语言基础篇--2.Go语言之【Go的执行原理以及Go的命令】
Go的执行原理以及Go的命令一、Go的源码文件Go 的源码文件分类:如上图,分为三类:1、命令源码文件:声明自己属于 main 代码包、包含无参数声明和结果声明的 main 函数。命令源码文件被安装以后,GOPATH 如果只有一个工作区,那么相应的可执行文件会被存放当前工作区的 bin 文件夹下;如果有多个工作区,就会安装到 GOBIN 指向的目录下。命令源码文件是 Go 程序的入口。同一个代码包中最好也不要放多个命令源码文件。多个命令源码文件虽然可以分开单独 go run 运行起来,但是转载 2020-06-18 16:34:12 · 328 阅读 · 0 评论 -
Go语言基础篇--3.Go语言之【变量+常量+编程规范】
写在前面:该系列blog只记录本人在学习go的过程中认为需要注意和掌握的基本内容,以此共勉,有表述不当和错误的地方还请各位仁兄指正。详细的知识点还是仔细看上述blog中给到的一些学习链接吧变量一小块内存,存储数据,程序运行中数值可以改变。定义方式//方式一var name stringname = "eden"//方式二:var name string = "eden"//方式三:var name = "eden"//方式四:name := "eden"常量asda...原创 2020-06-18 14:51:29 · 380 阅读 · 0 评论 -
Go语言基础篇--1.写在前面(Go学习资料汇总)
写在前面:2月份就已经配置好了go的环境,不过由于中途在做rl的实验,再加上中途还要给老板整项目,一直也没有学go。这几天虽然在出差,不过目前不是很忙,刚好有些时间,于是乎开始着手学习go的基础。Go语言LOGOGo的吉祥物这玩意名叫gopher,居住地是加拿大,中文名叫囊地鼠,最大的特点就是挖洞速度特别特别特别快…据说go语言兼具了c语言的运行效率和python的开发效率。先附上本人目前找到的比较可以的go的学习资料:千锋教育b站视频...原创 2020-06-18 11:25:41 · 206 阅读 · 0 评论 -
Ubuntu下安装Goland并配置go语言环境
最近武汉的肺炎疫情越来越严重,长时间待在家实在憋得慌,闲来无事,通过一些渠道了解到了GO语言这一神奇的语言,打算入手简单的学一下,so,先搭环境吧。。。。。。。。这里要吐槽一下,本来只想在VSCode中配置一下GO语言环境就好,毕竟目前并不打算深入钻研GO语言,只是想多学一门语言罢了。怎奈何!!!!!VSCode配置GO的环境实在是恶心,搞了整整一个下午,一直到晚上,我终于屈服了,乖乖的下载Go...原创 2020-02-14 11:24:24 · 3157 阅读 · 0 评论