数组和切片知识用的也是比较多,的给我们工作带来很大的便利

(一) 数组

定义:在golang中数组的长度是不可变,数组存放要求是同一种数据类型

//golang中数组定义的四种方法1.先声明,后赋值  var arr1 [2]int      arr1[0]=1      arr1[1]=22.声明同时赋值  var arr2 = [2]int{1,2}   //或者   arr2 := [2]int{1,2}3.不指定长度程序自动计算长度  var arr = [...]int{1,2}   //或者   arr := [...]int{1,2}4.key和value的形式  var arr = [...]int{1:1,0:2} //或者   arr := [...]int{1:1,0:2}

//golang中数组遍历的两种方法1.常规方法for i:=0;i<len(arr);i++ {  fmt.Printf("arr[%d] = %v",i,arr[i])}2.高级方法(推荐使用)for key(_),value:= range arr{  fmt.Printf("arr[%d] = %v",i,arr[i])}

//动态修改数组的值,默认情况下数组是值传递//形参定义成一个指针数据类型
func T2(a *[]string) {*a[0] = 99 //修改原来的值
}func main() {s1 := [...]string{11,22}T2(&s1) //传递一个数组的地址作为实际参数s1  = append(s1 , "33")
    fmt.Println(s1)
}

//数组指针和指针数组1.数组指针即是一个指针并且这个指针保存了一个指向数组的地址
   var arr =  [...]int{5:2}    //数组指针    var pf *[6]int = &arr2.指针数组即是一个数组,数组里面保存很多指针  x,y := 1, 2  pfArr := [...]*int{&x,&y}

//多维数组(二维)1.多维数组即数组里面又是一个数组2.定义方法  2.1先定义再赋值    var arr1 [2][2]int    arr1[0][0] = 5.....  2.2定义的同时赋值    var arr2 [2][2]int = [2][2]int{{1,2,3},{3,4,5}}3.多维数组的遍历  3.1    for i:=0;i<len(arr);i++{       for j:=0;i<len(arr[i]);j++{
      }    }  3.2    for i;value1 :=range arr2{      for j;value2 :=range value1 {            }  }

(二) 切片

  切片是数组的引用,并且是动态的数组,长度可以变化.

//切片的定义的几种方法
1.数组的引用  var intArr [4]int = [...]{12,34,44,33,11}  slice := intArr[1:3]2.make定义  var slice []type = make([]type,len,[cap])3.常规用法  var slice []type = []type{value1,value2,value3}  遍历的方法和数组也是一样的就不继续啰嗦了

//切片的内置函数
1.动态添加切片append(切片,value1,value2,value3)
2.切片的copycopy(切片1,切片2)

//字符的切片1.字符的切片在某种情况下是不可变的2.想要修改字符串中的值[]byte(str)[这种是处理英文方式],[]rune(str)[这种是处理中文方式]  

  

转载于:https://www.cnblogs.com/learningPHP-students2018/p/10785685.html

go语言基础知识笔记(二)之数组和切片相关推荐

  1. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)

    原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...

  2. python代码计算矩形面积_学习资料Python语言基础知识笔记以及答案

    01. Python语言基础知识等笔记: 02. Python作业答案: [例2-3]通过输入函数input()输入股票代码.股票名称.当天股票最高价和最低价,通过输出函数print()输出股票代码+ ...

  3. c语言笔记照片_C语言基础知识笔记

    一.C语言的结构 1.Hello world 简单来说,一个C程序就是由若干头文件和函数组成. #include //包含头文件 /* *主函数 */ int main(){ printf(" ...

  4. java二维数组模拟用户登录_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)...

    这里分享三道编程题, 下面是我个人的视频讲解我的解题思路以及代码运行演示https://www.zhihu.com/video/1253424180936724480 1. 编程实现以下需求: 定义一 ...

  5. PHP语言基础知识总结(二)

    11.PHP中的读写分离方法例子:: a.https://www.cnblogs.com/we-jack/p/8204457.html b.https://blog.csdn.net/gxhacx/a ...

  6. java语言基础知识笔记

    目录 1.Java开发环境: 1)java编译运行过程:----------常见面试题 *  2)名词解释:------------------常见面试题 3)配置环境变量:------------- ...

  7. python语言基础笔记_Python语言 基础知识笔记

    背景知识 Python2 的默认编码是 ascii,Python3 的默认编码是 utf-8 输入输出 Python2 提供了 input,raw_input,print 等用于输入输出,但在 Pyt ...

  8. C语言基础知识(二)-------C++变量及赋值

    变量及赋值 变量就是可以变化的量,而每个变量都会有一个名字(标识符).变量占据内存中一定的存储单元.使用变量之前必须先定义变量,要区分变量名和变量值是两个不同的概念. 变量定义的一般形式为:数据类型 ...

  9. java入门学习笔记(二)—— Eclipse入门学习之快捷键、java语言基础知识之各类关键字及其用法简析

    一.Eclipse入门学习 1. 快捷键 对于一个编辑器,快捷键必不可少,是十分好用且有效的工具. 对于一个初学者,首先掌握了如下快捷键. (很多通用的快捷键不多说) Ctrl + / -- 注释当前 ...

最新文章

  1. mysql中begin end中变量定义_DECLARE只能用于BEGIN…END的开头部分定义局部变量,其作用范围只能在该BEGIN…END中。_学小易找答案...
  2. OSINT系列:威胁信息挖掘ThreatMiner
  3. centerandzoom 无效_百度地图 app 点击事件无效、不触发 解决方案
  4. 2022版中国钕铁硼行业竞争格局与产销潜力预测报告
  5. spring事务管理-Transaction模板(了解)
  6. python找出主力合约价格_如何找出全部期货主力合约和次主力合约?
  7. SpringBoot→thymeleaf静态模板
  8. One Button Combat
  9. Perl语言及安装运行环境
  10. Rufus创建Windows Server UEFI启动盘
  11. ll和 amp amp c语言,ll 和 java
  12. ue5-预计算可视性体积(PVS)
  13. BootstrapTable的列排序怎么搞
  14. html页面栅格系统,超好用的网页栅格化工具: GridGuide
  15. 【STM32CubeMX+Keil+PROTEUS】之---4*4键盘仿真驱动
  16. 极验:验证码在黑灰产对抗中的角色和实践
  17. Oracle报错1031,dataguard 归档日志报1031错误的一次处理
  18. Shell编程之第二讲——shell 的变量
  19. iOS app - 跳转到应用程序下载页面
  20. 20吉林大学计算机软件人工考研上岸分享--挂科重修过的我如何一年逆袭上岸吉大软件

热门文章

  1. ubuntu设置mysql可以非本地访问_ubuntu server下设置mysql的远程访问权限
  2. nginx访问目录是没加/的重定向控制
  3. 剑指offer-3(替换空格)
  4. 解决在html中引入font-awesome的css文件后, 图标显示不出来
  5. hadoop 提交程序并监控运行
  6. MySQL 5.6 my.cnf 参数说明(转)
  7. define 汉字 error C2001: newline in constant
  8. 如何让Visitor变得可爱1
  9. Combox使用的一些技巧
  10. 网页弹出窗口代码【来源于网络】