c++ map是有序还是无序的_go 学习笔记之数组还是切片都没什么不一样

本文回顾了Go语言的基础语法,强调了其与其他语言的区别,如类型转换、指针操作等,并深入探讨了内建容器:数组和切片的声明、初始化、遍历、元素访问及比较,以及切片的动态扩容和缩容原理。此外,文章还介绍了Map的无序性、键值对的添加、删除以及遍历特性。通过对这些基础知识的掌握,有助于更好地理解和使用Go语言。
摘要由CSDN通过智能技术生成

上篇文章中详细介绍了 Go 的基础语言,指出了 Go 和其他主流的编程语言的差异性,比较侧重于语法细节,相信只要稍加记忆就能轻松从已有的编程语言切换到 Go 语言的编程习惯中,尽管这种切换可能并不是特别顺畅,但多加练习尤其是多多试错,总是可以慢慢感受 Go 语言之美!

在学习 Go 的内建容器前,同样的,我们先简单回顾一下 Go 的基本语言,温度而知新可以为师矣!

上节知识回顾

如需了解详情,请于微信公众号[雪之梦技术驿站]内查看 go 学习笔记之值得特别关注的基础语法有哪些 文章,觉得有用的话,顺手转发一下呗!

内建类型种类

  • bool

布尔类型,可选 true|false,默认初始化零值 false .

  • (u)int ,(u)int8 , (u)int16, (u)int32,(u)int64,uintptr

2^0=1,2^1=2 ,2^2=4 个字节长度的整型,包括有符号整型和无符号整型以及 uintptr 类型的指针类型,默认初始化零值 0 .

  • byte(uint8) ,rune(int32),string

byte 是最基础字节类型,是 uint8 类型的别名,而 rune 是 Go 中的字符类型,是 int32 的别名.最常用的字符串类型 string 应该不用介绍了吧?

  • float32 ,float64 ,complex64 ,complex128

只有 float 类型的浮点型,没有 double 类型,同样是以字节长度来区分,complex64 是复数类型,实部和虚部由 float32 类型复合而成,因此写作 complex64 这种形式.

内建类型特点

  • 类型转换只有显示转换,不存在任何形式的隐式类型转换

不同变量类型之间不会自动进行隐式类型转换,Go 语言的类型转换只有强制的,只能显示转换.

  • 虽然提供指针类型,但指针本身不能进行任何形式的计算.

指针类型的变量不能进行计算,但是可以重新改变内存地址的指向.

  • 变量声明后有默认初始化零值,变量零值视具体类型而定

int 类型的变量的初始化零值是 0,string 类型的初始化零值是空字符串,并不是 nil

基本运算符

  • 算术运算符没有 ++i 和--i

只有 i++ 和 i-- 这种自增操作,再也不用担心两种方式的差异性了!

  • 比较运算符 == 可以比较数组是否相等

当两个数组的维度和数组长度相等时,两个数组可以进行比较,顺序完全一致时,结果为 true,其他情况则是 false .

  • 位运算符新增按位清零运算符 &^

其他主流的编程语言虽然没有这种操作符,通过组合命令也可以实现类似功能,但既然提供了按位清零运算符,再也不用自己进行组合使用了!

流程控制语句

  • if 条件表达式不需要小括号并支持变量赋值操作

先定义临时变量并根据该变量进行逻辑判断,然后按照不同情况进行分类处理,Go 处理这种临时变量的情况,直接对条件表达式进行增强,这种情况以后会很常见!

  • if 条件表达式内定义的变量作用域仅限于当前语句块

条件表达式内定义的变量是为了方便处理不同分支的逻辑,既然是临时变量,出了当前的 if 语句块就无法使用,也变得可以理解.

  • switch 语句可以没有 break,除非使用了 fallthrough

switch 语句的多个 case 结尾处可以没有 break,系统会自动进行 break 处理.

  • switch 条件表达式不限制为常数或整数

和其他主流的编程语言相比,Go 语言的 switch 条件表达式更加强大,类型也较为宽松.

  • switch 条件表达式可以省略,分支逻辑转向 case 语言实现.

省略 switch 条件表达式,多个 case 语言进行分支流程控制,功能效果和多重 if else 一样.

  • 省略 switch 条件表达式后,每个 case 条件可以有多个条件,用逗号分隔.

swicth 语句本质上是根据不同条件进行相应的流程控制,每个 case 的条件表达式支持多个,更是增强了流程控制的能力.

  • for 循环的条件表达式也不需要小括号,且没有其他形式的循环.

Go 语言只有 for 循环,没有 while 等其他形式的循环.

  • for 循环的初始条件,终止条件和自增表达式都可以省略或者同时省略

条件表达式进行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值