go+
文章平均质量分 50
go+入门
悟空打码
关注我❤不掉发进大厂❤,带你走向架构师
展开
-
Go+ for range遍历
for range概述我们如果使用for遍历的话总觉得代码有点臃肿,不太雅观,这个时候我们可以使用for range来遍历,我们常用它来遍历数组、切片、字符串、map、以及channel。他需要注意的点有:遍历数组、切片、字符串的时候,返回索引和值。遍历map的时候返回键和值。遍历channel的时候,只返回channel内的值。for range常见的遍历类型遍历数组、切片Go+和可以对数组或者切片遍历,其中的key代表索引(从0开始),value代表值,他的语法如下:for key,原创 2021-12-12 17:16:43 · 542 阅读 · 1 评论 -
Go+ 列表解析 list comprehension
列表解析概述我们在学完for循环以后,会发现有一些操作for循环是很复杂的,比如说从一个列表中取出数据然后追加到另一个列表中,我们需要先for循环遍历出所有的列表然后再去追加,这就是常见的遍历取数的问题,我们可以用列表解析去代码for循环。for循环解决遍历取数我们先用for循环来解决遍历取数问题,我们使用列表解析加上cannel就完美解决了这个问题,name := [...]string{"zs", "ls", "ww", "zl"}var new_name []stringfor i :=原创 2021-12-12 16:39:00 · 330 阅读 · 0 评论 -
Go+ recover
recover概述 panic用于抛出异常,而recover用于捕获异常,recover是Go+的一个内建函数,recover从字面理解意思是恢复,他可以让你的系统从宕机中恢复过来(捕获异常),虽然程序报错了,但是不会宕机,会进行异常捕获处理,且recover仅仅在只在defer延迟函数有有效。比如说我们的某个服务遇到了某种错误,如果不做任何处理的话,服务端宕机了,客户端会一直保持长连接等待,十分不友好,我们这个时候就需要将异常信息返回给客户端。recove原创 2021-12-12 16:35:41 · 577 阅读 · 0 评论 -
Go+ defer
defer概述defer是延迟语句,当我们打开某些资源,比如说数据库连接资源、文件资源、IO资源的时候,我们在使用完或者是遇到错误之前需要提前返回,否则互造成资源泄露或者是占用系统内存过高的问题,有点类似Java的try...catch...finally,finally后常见的操作是释放资源。总结来说,defer的特性是:defer用于延迟调用。如果有多个defer的话。按照栈的特性:先进后出的方式执行。defer基本用法defer有点类似于栈,采用的是先进后出的一种模式,先进去的是最后出来原创 2021-12-12 15:56:29 · 173 阅读 · 0 评论 -
Go+ panic
概述 程序的错误有很多种,我们可以在程序的运行当中可以捕获错误,来提高我们程序的交互性,但是并不是所有的错误我们都可以想得到,或者说编译器可以帮我们检查出来的,这就是运行时错误,比如说数组越界、空指针、类型转换异常等,这些错误只有在执行的时候才可以被检测出来。 这种错误一般会导致系统宕机,会造成整个应用的死机,体验感极差,就类似我们在取钱的时候,突然发现我们的钱不够了,然后整个ATM机就直接蓝屏或者关机了,但是在原创 2021-12-12 14:54:46 · 257 阅读 · 0 评论 -
Go+异常处理
错误处理 程序中错误处理机制是一套很重要的机制,程序运行过程当中不可能不会出错的,我们在出错的情况下不可能直接把错误展示给用户看,而是需要对错误进行包装,只展示包装后的错误语句,于是程序员在日常开发阶段需要做的一件很重要的事情就是将错误信息进行包装,而这个包装就是错误处理机制。代码示范strconv strconv包主要是实现对字符串对基本数据类型之间的转换,我们在日常开发阶段常常需要用到将字符串转为基本数据原创 2021-12-12 13:13:24 · 415 阅读 · 0 评论 -
Go+ for结合<-
channel< -是Go+里面的一个类型,叫channel,中文名叫管道,是Go+之间的一种通信机制,我们可以使用channel发送或者去接受数据,有点类似于Java的流编程。箭头方向表示数据的传递方向。channelchannel和普通的类型一样,我们在使用之前也是需要去创建的,我们一般使用内置函数去创建。我们使用下面这种语法去声明一个chan int类型channel。ch := make(chan int)channel读操作我们定义完channel以后就可以开始进行读操作了,切原创 2021-12-11 08:52:51 · 282 阅读 · 0 评论 -
Go+简单for循环
概述 如果我们想循环执行某个操作,这个时候就需要循环控制结构,也就是for循环。for循环的意思是根据循环的判断条件,当条件为真的时候,执行某种操作,直到循环为假的时候才跳出这个循环。语法 for循环有三种循环,分别对应不同的写法。第一种循环 第一种循环时我们最常见的循环,他是支持初始化语句的。语法格式如下:for 初始化代码; 关系表达式; 赋值表达式 {原创 2021-12-10 22:33:51 · 341 阅读 · 0 评论 -
Go+选择语句switch
概述如果我们需要匹配某些情况的时候,比如说给考试分等级,90分以上为A,70分以上为B,60分以下为C,这种情况,我们发现,如果使用if条件语句的话,实现起来是十分复杂的,所以就有了选择语句switch。Go+的switch相较于Java和、C的switch语句更加灵活方便。语法基本语法Go+的switch无需break,避免了条件击穿的问题,Go+会自动帮我们匹配到合适的switch语句,就不再执行下面一行的代码了,具体的语法格式如下: switch 需要判断的变量{ case原创 2021-12-10 08:09:02 · 350 阅读 · 0 评论 -
Go+条件语句if
if条件语句概述我们有三种结构来控制程序的流程结构:顺序结构:从上往下执行的代码就是顺序结构。循环结构:满足某种条件可以重复不断地执行某种语句叫做循环结构。选择结构:满足某种条件就执行,否则执行另外一个。if语句if语句就是一种选择结构,他有三种结构,对用不同的语法格式:ifif …elseif else ififif按照字面意思是如果的意思,这个是最简单的一个循环语句,他代表的意思是当条件为真的时候,就会执行接下来的代码,具体语法如下:if 判断表达式 { //原创 2021-12-09 22:25:12 · 191 阅读 · 0 评论 -
Go+类型与类型转换
类型Go+的数据类型十分丰富整型我们常用于整型来进行数字运算,他有几种类型:有符号整型:int8、int16、int32、int64。无符号整型:uint8、uint16、uint32、uint64。类型描述int8有符号8位整型int16有符号16位整型int32有符号32位整型int64有符号64位整型uint8无符号8位uint16无符号16位uint32无符号32位uint64无符号64位还有一些常见原创 2021-12-09 22:07:15 · 647 阅读 · 0 评论 -
Go+数组
数组概述 Go+提供了一种长度固定的数据结构结构,他就是数组,他可以用于存放多个相同类型的数据,比如我们要存放100个同学的姓名,我们需要name1、name2、name3…这样来命名,略显繁琐,遇到这种情况,我们可以直接使用数组来进行存储。我们再根据索引(下标)去取值,他的下标是从0开始的,第一个下标是1,初学者可能不是很习惯这种方式。声明数组 我们在声明数组的需要同时指定元素个数、元素类型,已经定义长度是原创 2021-12-08 21:50:37 · 335 阅读 · 0 评论 -
Go+字典Map
字典Map概述 字典是Go+内置的一种数据结构,他指的是一组键值对无序的集合。他的基本格式是map[key的类型]value的类型,字典和切片比较类似,切片是用索引来进行读写操作的,而字典是用key来进行读写操作的。map的相关使用 我们有两种方式定义map:使用关键字定义。使用make()函数。使用关键字 我们使用这个方法定义map出来的时候,如果我原创 2021-12-08 21:02:53 · 1299 阅读 · 0 评论 -
Go+切片
切片概述 切片是程序员对数组对象的抽象,在Go+里面,数组长度是不可变的,这样会造成我们使用集合的时候比较笨重,只有在固定的场所才可以使用。Go+提供了一种较为灵活的数组,我们可以理解为动态数组,他对比数组来说长度是不固定的,同时可以追加元素,在追加元素的时候,可以动态扩容,他就是切片。定义切片 定义切片和定义变量一样,语法如下:var 变量名 []切片类型var age []int &n原创 2021-12-07 23:07:42 · 269 阅读 · 0 评论 -
Go+字符串
字符串概述一个字符串就是一个不可以更改的字节序列,字符串可以包含任意的数据,一般用于存储文本。定义字符串我们一般使用双引号""来定义一个字符串,但是要注意,有一些特定的字符是有固定的含义的,我们称为转义字符,这些转义字符包含:\n:换行符\r:回车符\t:tab 键\u 或 \U:Unicode 字符\:反斜杠自身println("hello" + "\t" + "world") // hello world如果我们想要知道这个字符串所占的字节长度,我们可以使用Go+的内置函原创 2021-12-05 22:57:49 · 337 阅读 · 0 评论 -
Go+赋值运算
赋值运算符概述赋值运算符就是可以直接进行赋值的一种运算符。分类我们列出了Go+中所有的赋值运算符。运算符描述实例=简单的赋值运算符,将一个表达式的值赋给一个左值C = A + B 将 A + B 表达式结果赋值给 C+=相加后再赋值C += A 等于 C = C + A-=相减后再赋值C -= A 等于 C = C - A*=相乘后再赋值C *= A 等于 C = C * A/=相除后再赋值C /= A 等于 C = C / A原创 2021-12-05 22:52:36 · 323 阅读 · 0 评论 -
Go+内建函数与运算符
函数函数是一个代码块,用于执行一个任务。Go+帮我们自动省去了main函数。函数的定义Go+的函数定义如下:func 函数名( 参数列表 ) [返回类型] { 函数体}func:表名这个是一个函数,定义函数的标志。函数名:给你点函数取一个名字,方便以后调用。参数列表:传递参数的列表,当你需要给你的方法传递参数的时候,就写在这里,参数的类型、顺序、个数都是可选的,我们也可以定义不含参数函数。返回类型:函数的返回值类型,函数也可以没有返回值。函数体:函数具体的实现方法。我们写一原创 2021-12-05 22:51:14 · 294 阅读 · 0 评论 -
Go+变量
变量变量声明Go+语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的语法:var 变量名 类型var a stringa = "hello"println(a)同时可以一次声明多个变量。var 变量名1, 变量名2... typevar name,name2 string如果不对变量进行初始化的话就必须定义类型。如果对变量进行了初始化,那么GO+会根据值的类型自动判断变量类型。变量初始化一般写法对单个变量进行初始化。var name = "admi原创 2021-12-05 22:50:03 · 317 阅读 · 0 评论 -
Go+常量
常量概述常量是一个简单值的标识符,在程序运行时,不会被修改也不可以被修改的量。常量的定义格式:const 常量名 [类型] = 常量值你可以省略类型说明符 [类型],因为Go+可以根据变量的值来推断其类型。比如:显式常量定义: const a string = "HelloWorld"隐式常量定义: const a = "HelloWorld"多个相同类型的变量可以简写:const name1, name2 = value1, value2实例代码:const WIDTH int原创 2021-12-05 22:49:10 · 180 阅读 · 0 评论 -
Go+字面量
数据类型概述 Go+和其他的编程语言有多种值类型,包括字符串、整数、浮点数、布尔值等。初学者可能不理解为什么会有那么多种值类型,想想生活中装不一样的东西会用不一样的罐子,和这个例子基本上差不多。 这里有几个基本的例子。字符串,可以与 + 一起添加,用+链接起来的两个字符串是原样输出的,不会去进行任何的加减乘除的数字运算,当我们需要原样输出的时候可以去选择使用+号进行链接。println "Go"+"Plus"原创 2021-12-05 22:43:34 · 197 阅读 · 0 评论 -
Go+的HelloWorld的多种写法
????博客主页:https://blog.csdn.net/weixin_43896643????欢迎点赞 ???? 收藏 ⭐留言 ???? 欢迎讨论!????本文由 XiaoLin_Java 原创,首发于 CSDN????????不要等待机会,而要创造机会。✨Go+的HelloWorld的三种写法 任何语言都离不开HelloWorld,而Go+的HelloWorld有三种不同的写法。写法一 写法一原创 2021-12-04 13:50:49 · 544 阅读 · 0 评论