当前位置: 首页 > news >正文

长垣县住房和城乡建设局网站如何做家教网站

长垣县住房和城乡建设局网站,如何做家教网站,在山东和网页有关的公司,水滴信用企业查询官网Go语言基础 介绍 基础 数组(array) 数组声明 元素访问与修改 数组遍历 关系运算 切片创建 多维数组 介绍 本文介绍Go语言中数组(array)操作(数组声明、元素访问与修改、数组遍历、关系运算、切片创建、多维数组)等相关知识。 基础 数组 数组是具有相同数据类型的…

Go语言基础

介绍

基础

介绍

  • 本文介绍Go语言中数组(array)操作(数组声明、元素访问与修改、数组遍历、关系运算、切片创建、多维数组)等相关知识。

基础

数组
  • 数组是具有相同数据类型的数据元素组成的一组长度固定的序列,数组的长度必须是非负整数的常量,长度也是类型的一部分。
  • 数组声明后,其数据类型与元素数量固定不可变。
数组声明
package mainimport "fmt"func main() {// 声明数组var arr0 [5]float32fmt.Printf("%T, %v\n", arr0, arr0)// 声明并初始化数组,指定数组长度var arr1 [5]int = [5]int{1, 2, 3, 4, 5}fmt.Printf("%T, %v\n", arr1, arr1)// 自动推导参数类型,初始化前三个元素,后两个默认为空arr2 := [5]string{"fsd", "fdsds", "fds"}fmt.Printf("%T, %v\n", arr2, arr2)// 数组长度不确定时自动推导arr3 := [...]byte{'A', 'B'}fmt.Printf("%T, %c\n", arr3, arr3)// 指定元素位置初始化arr4 := [5]int{0: 10, 3: 13, 4: 14}fmt.Printf("%T, %v\n", arr4, arr4)// 数组长度不确定时,指定元素位置初始化并自动推导arr5 := [...]int{0: 1, 4: 3}fmt.Printf("%T, %v\n", arr5, arr5)
}

输出结果
[5]float32, [0 0 0 0 0]
[5]int, [1 2 3 4 5]
[5]string, [fsd fdsds fds ]
[2]uint8, [A B]
[5]int, [10 0 0 13 14]
[5]int, [1 0 0 0 3]

数组声明
  • 通过数组下标(索引位置)来访问或修改数组的元素
  • 数组的起始索引从0开始
package mainimport "fmt"func main() {var arr [5]int = [5]int{1, 2, 3, 4, 5}fmt.Println(arr)// 以索引访问数组fmt.Println("arr[0] = ", arr[0])fmt.Println("arr[1] = ", arr[1])fmt.Println("arr[2] = ", arr[2])fmt.Println("arr[3] = ", arr[3])fmt.Println("arr[4] = ", arr[4])// 修改数组arr[0] = 100arr[1] = 200arr[4] = 300fmt.Println("arr[0] = ", arr[0])fmt.Println("arr[1] = ", arr[1])fmt.Println("arr[2] = ", arr[2])fmt.Println("arr[3] = ", arr[3])fmt.Println("arr[4] = ", arr[4])
}

输出结果
[1 2 3 4 5]
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 4
arr[4] = 5
arr[0] = 100
arr[1] = 200
arr[2] = 3
arr[3] = 4
arr[4] = 300

数组遍历
  • 使用 for循环遍历数组
package mainimport "fmt"func main() {var arr [5]int = [5]int{1, 2, 3, 4, 5}fmt.Println(arr)// 获取数组大小fmt.Println(len(arr))// for循环遍历for i := 0; i < len(arr); i++ {fmt.Println("arr[", i, "] = ", arr[i])}fmt.Println("========================")// for-range遍历for i, v := range arr {fmt.Println("arr[", i, "] = ", v)}
}

输出结果
[1 2 3 4 5]
5
arr[ 0 ] = 1
arr[ 1 ] = 2
arr[ 2 ] = 3
arr[ 3 ] = 4
arr[ 4 ] = 5
========================
arr[ 0 ] = 1
arr[ 1 ] = 2
arr[ 2 ] = 3
arr[ 3 ] = 4
arr[ 4 ] = 5

关系运算
  • 可判断同数据类型数组间是否相同(==、!=)
package mainimport "fmt"func main() {var arr [5]int = [5]int{1, 2, 3, 4, 5}fmt.Println("== ", arr == [...]int{1, 2, 3, 4, 5})fmt.Println("!= ", arr != [...]int{1, 2, 3, 4, 5})
}

输出结果
== true
!= false

切片创建
  • array[start : end] 或 array[start : end : cap](end<=cap<=len)获得部分元素做为切片
package mainimport "fmt"func main() {var arr [5]int = [5]int{1, 2, 3, 4, 5}// 获取数组长度和数组容量fmt.Printf("arr len: %v, cap: %v\n", len(arr), cap(arr))fmt.Println("=====================")// 从数组创建切片,array[start:end]s1 := arr[0:2]fmt.Printf("s1 type: %T, value: %v, len: %v, cap: %v\n", s1, s1, len(s1), cap(s1))// 从数组创建切片,array[start:end:cap]s2 := arr[0:1:2]fmt.Printf("s2 type: %T, value: %v, len: %v, cap: %v\n", s2, s2, len(s2), cap(s2))
}

输出结果
arr len: 5, cap: 5
=====================
s1 type: []int, value: [1 2], len: 2, cap: 5
s2 type: []int, value: [1], len: 1, cap: 2

多维数组
  • 数组的元素也可以是数组类型,这就是多维数组
  • 多维数组声明
package mainimport "fmt"func main() {// 声明一个二维数组var arr [2][2]int = [2][2]int{}fmt.Println("arr: ", arr)// 声明一个二维数组,并初始化var arr1 [2][3]int = [2][3]int{{1, 2, 3}, {4, 5, 6}}fmt.Println("arr1: ", arr1)// 自动推导类型arr2 := [2][2]int{}fmt.Printf("arr2 type: %T, value: %v\n", arr2, arr2)// 多维数组只有第一维长度可使用变量数自动推导arr3 := [...][3]int{{1, 2, 3}, {4, 5, 6}}fmt.Printf("arr3 type: %T, value: %v\n", arr3, arr3)// 按数组第一维索引初始化arr4 := [3][3]int{0: {1, 1, 1}, 2: {3, 3, 3}}fmt.Printf("arr4 type: %T, value: %v\n", arr4, arr4)// 按数组多维度索引初始化arr5 := [3][3]int{0: {0: 10, 2: 20}, 2: {3, 3, 3}}fmt.Printf("arr5 type: %T, value: %v\n", arr5, arr5)
}

输出结果
arr: [[0 0] [0 0]]
arr1: [[1 2 3] [4 5 6]]
arr2 type: [2][2]int, value: [[0 0] [0 0]]
arr3 type: [2][3]int, value: [[1 2 3] [4 5 6]]
arr4 type: [3][3]int, value: [[1 1 1] [0 0 0] [3 3 3]]
arr5 type: [3][3]int, value: [[10 0 20] [0 0 0] [3 3 3]]

  • 多维数组访问与修改
package mainimport "fmt"func main() {// 声明一个二维数组,并初始化var arr1 [2][3]int = [2][3]int{{1, 2, 3}, {4, 5, 6}}fmt.Println("arr1: ", arr1)// 访问维度fmt.Println("arr1[0]: ", arr1[0])// 访问某个元素fmt.Println("arr1[0][2]: ", arr1[0][2])// 修改维度arr1[0] = [3]int{10, 20, 30}fmt.Println("arr1: ", arr1)// 修改某个元素arr1[0][2] = 100fmt.Println("arr1: ", arr1)
}

输出结果
arr1: [[1 2 3] [4 5 6]]
arr1[0]: [1 2 3]
arr1[0][2]: 3
arr1: [[10 20 30] [4 5 6]]
arr1: [[10 20 100] [4 5 6]]

  • 多维数组遍历
package mainimport "fmt"func main() {// 声明一个二维数组,并初始化var arr1 [2][3]int = [2][3]int{{1, 2, 3}, {4, 5, 6}}fmt.Println("arr1: ", arr1)// for循环遍历for i := 0; i < len(arr1); i++ {for j := 0; j < len(arr1[i]); j++ {fmt.Printf("arr1[%v][%v] = %v\t", i, j, arr1[i][j])}fmt.Println()}fmt.Println("=======================")// for-range循环遍历for i, row := range arr1 {for j, v := range row {fmt.Printf("arr1[%v][%v] = %v\t", i, j, v)}fmt.Println()}
}

输出结果
arr1: [[1 2 3] [4 5 6]]
arr1[0][0] = 1 arr1[0][1] = 2 arr1[0][2] = 3
arr1[1][0] = 4 arr1[1][1] = 5 arr1[1][2] = 6
=======================
arr1[0][0] = 1 arr1[0][1] = 2 arr1[0][2] = 3
arr1[1][0] = 4 arr1[1][1] = 5 arr1[1][2] = 6

起始

http://www.yayakq.cn/news/484521/

相关文章:

  • 如何申请网站优化工作广州企业官网建设
  • 专业的建网站的公司wordpress点评模板
  • 会员管理网站ASP建设做网站哪里最便宜
  • 杭州高端网站制作基于 seajs 的高性能网站开发和优化实践_王保平(淘宝)
  • 石药网站好一点的app开发公司
  • 风景旅游网站建设的设计思路视频拍摄剪辑培训
  • 学生个人网站模板嘉峪关建设局网站
  • 专业构建网站的公司wordpress 游戏 模板下载
  • 哪个博客可以做单页网站台山住房和城乡建设 网站
  • 搭建网站的五大步骤seo优化seo外包
  • 网站内容编辑器上海网络推广报价
  • 网站备案多长时间来完成简单的做海报的网站
  • 做点心的网站手机网站有什么
  • 游戏发号网站源码快速做网站详情页
  • 苏州做网站公司精选苏州聚尚网络更改wordpress后台登录地址
  • 营销网站建设内容wordpress新建文章页修改图片样式
  • 锦州网站建设公司公司做网站价格
  • 廊坊网站建站贺州招聘网站建设
  • 嘉定建设机械网站论述网站建设流程
  • 网站程序风格淘宝网站建设目的
  • 未央网站建设pc做网站
  • 网站配色原理wordpress教程破解版
  • cdn网站加速有用吗兄弟网站制作
  • 酒店专业培训网站建设网站网址有哪些
  • 医院网站建设需求分析wordpress粘贴图片
  • 旅游网站系统建设中山网站建设公司排名
  • 精通网站建设工资多少钱如何制作公众号教程
  • 如何做一个购物网站页面聊城高新区建设局网站
  • 网站建设行业前景如何注册自己的工作室
  • 公司申请网站需要哪些材料mitao wordpress