[TOC]前言一、切片不能直接比较切片之间是不能比较的,我们不能使用==操作符来判断两个切片是否含有全部相等元素。 切片唯一合法的比较操作是和nil比较。 一个nil值的切片并没有底层数组,一个nil值的切片的长度和容量都是0。但是我们不能说一个长度和容量都是0的切片一定是nil,例如下面的示例:var s1 []int //len(s1)=0;cap(s1)=0;s1==n...
[TOC]前言一、概述切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。二、切片2.1 切片的定义声明切片类型的基本语法如下:var name []T说明name:表示变量名T:表示切片中的元素类型示例func main() { /...
[TOC]前言一、概述数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在Go语言中很少直接使用数组。和数组对应的类型是 Slice(切片),Slice 是可以增长和收缩的动态序列,功能也更灵活,但是想要理解 slice 工作原理的话需要先理解数组,所以本节主要为大家讲解数组的使用。二、数组2.1 声明数组数组的声明语法如下:var ...
[TOC]前言在静态类型语言(C++/Java/Golang 等)中规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存。一、整形整型分两大类有符号整型:int8、int16、int32、int64、int。无符号整型:uint8、uint16、uint32、uint64、uint。注意: 在使用int和 uint类型时,不能假定它是32位或64位的整型,而是考虑...
[TOC]前言一、变量1.1 概述程序在运行过程中,数据保存在内存当中。在代码中,可以通过以下两种方式到内容中访问具体的数据:直接引用该数据的内存地址访问数据通过创建变量将数据的内存地址保存起来,然后通过引用变量名去访问数据和后者相比前者的可读性差,并且容易出错,所以在程序中通常会通过定义一个简短有意义的名称来用于对数据的访问。简言之,变量就是一块存放(可变)数据的内存空间,引用变量名就可以...
[TOC]前言在执行GO语言时需要先安装一个SDKGo 安装包下载Windows系统只需要下载对应版本的以.msi后缀结尾的文件即可。安装完成后自动加入环境变量,不需要手动配置。安装过程很简单本文就不在赘述。安装完成后打开cmd查看是否安装成功go version一、第一个GO程序需求:在控制台输出"Hello World!"package main // 声明 main 包 imp...