go语言数组(详细)
Posted Tloml..
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言数组(详细)相关的知识,希望对你有一定的参考价值。
概述:
数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,无法修改其长度。当作为方法的参数传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数len(array)获取其长度。
len表示数组的长度,后面的int储存的是实际数据
数组初始化
初始化数组的初始化有多种形式,查看示例代码 [5] int 1,2,3,4,5
长度为5的数组,其元素值依次为:1,2,3,4,5
[5] int 1,2
长度为5的数组,其元素值依次为:1,2,0,0,0 。在初始化时没有指定初值的元素将会赋值为其元素类型int的默认值0, string的默认值是" "
[...] int 1,2,3,4,5
长度为5的数组,其长度是根据初始化时指定的元素个数决定的
[5] int 2:1,3:2,4:3
长度为5的数组,key:value,其元素值依次为:0,0,1,2,3。在初始化时指定了2,3,4,索引中对应的值:1,2,3
[...] int 2:1,4:3
长度为5的数组,起元素值依次为:0,0,1,0,3。由于指定了最大索引4对应的值3,根据初始化的元素个数确定其长度为5赋值与使用
数组的访问
数组通过下标访问元素,可修改其元素值
arr := [...]int1,2,3,5
arr[4] = arr[2] + len(arr)
//arr[4] = 3 + 4
通过for遍历数组元素
package main
import "fmt"
func main()
arr := [5]int5,4,3
for index, value := range arr
fmt.Printf("arr1[%d]=%d\\n", index, value)
for index := 0; index < len(arr); index++
fmt.Printf("arr2[%d]=%d\\n",index,arr[index])
//输出
//arr1[0]=5
//arr1[1]=4
//arr1[2]=3
//arr1[3]=0
//arr1[4]=0
//arr2[0]=5
//arr2[1]=4
//arr2[2]=3
//arr2[3]=0
//arr2[4]=0
数组是值类型,将一个数组赋值给另一个数组时将复制一份新的元素
package main
import "fmt"
func main()
arr2 := [5]int1,2
arr5 := arr2
arr5[0]=5
arr2[4]=2
fmt.Printf(" arr5= %d \\n arr2=%d \\n arr5[0]==arr2[0]= %s \\n",
arr5,arr2,arr5[0]==arr2[0])
//输出:
// arr5= [5 2 0 0 0]
// arr2=[1 2 0 0 2]
// arr5[0]==arr2[0]= %!s(bool=false)
参考:go语言中数组和切片的区别_360linker的博客-CSDN博客
我的Go+语言初体验——超详细安装教程
我的Go+语言初体验——(1)超详细安装教程
Go+ 是什么?为数据而生,实现教学、工程与数据的 “三位一体”。
Go+ 语言的安装和环境配置有些复杂,官方教程也没有写的很详细。
本文从零开始,详细介绍 Go+ 的安装过程。不漏过一个细节,带你完成第一个 Go+ 程序。
1. Go+ 是什么
Go+ 发布。
Go+ 是什么?为数据而生,实现教学、工程与数据的 “三位一体”。
for engineering,for STEM education,for data science
为数据而生,实现教学、工程与数据的 “三位一体”。
官方网站:
https://goplus.org
刚刚发布的 Go+ 语言,安装过程有些复杂。虽然此前官方和网络上已经给出安装教程,但往往漏掉或略去了一些细小步骤,使用户安装时难以顺利完成,半途而废。不客气地说,有些 “教程” 估计自己都没有安装成功。
本文从零开始,详细介绍 Go+ 的安装过程,不漏过一个细节,带你完成第一个 Go+ 程序。
2. Go+ 的安装与运行
2.1 安装 Git
(1)从 Git 官网下载 Git 工具的安装程序,如:Git-2.34.1-64-bit.exe
,下载地址:
https://git-scm.com/download/win
(2)运行下载的 Git 安装程序,一路回车就可以完成安装。
(3)验证安装是否成功:
- Win + “R” 唤出“快速打开”运行框,输入 cmd 进入控制台;
- 输入
git version
,输出 Git 版本信息,说明安装成功。
2.2 安装 Go
(1)下载安装包,如:Go1.17.3.windows-amd64.zip
,下载地址:
https://golang.google.cn/dl/
(2)运行下载的安装包,一路回车就可以完成安装。
(3)配置环境变量。
Windows 系统默认安装时,自动添加环境变量,可以跳过这一步骤。
如果自定义安装,推荐配置环境变量如下:
#环境变量GOPATH,默认为用户目录(%USERPROFILE%)下go文件夹
GOPATH=D:\\WorkSpace\\Golang\\go
#环境变量Path追加
Path=%GOROOT%\\bin;%GOPATH%\\bin;#GOPATH的路径
├── bin 编译后生成的可执行文件
├── pkg 编译时生成的中间文件(比如:.a)
└── src 项目的源代码(比如:.go .c)
(4)验证安装是否成功:
- Win + “R” 唤出“快速打开”运行框,输入 cmd 进入控制台;
- 输入
go version
,输出如下图所示 Go 的版本信息,说明安装成功。
2.3 安装 Go+
按照官方推荐方法,从源代码安装 Go+。
(1) Win + “R” 唤出“快速打开”运行框,输入 cmd 进入控制台;
(2)在控制台用 git 工具安装 Go+:
git clone https://github.com/goplus/gop.git
cd gop
go run cmd/install.go
控制台输出如下图所示的安装完成信息,说明 Go+ 安装成功。
(3)安装 Go+ 第三方包 builtin
builtin 包是 Go+ 的预声明定义,包括常用的类型和方法声明。Go+ 支持 go mod 功能,可以方便地管理依赖。
但是 Go+ 的第三方包 builtin 必须单独安装,很多教程没有写清楚这个步骤,导致 Go+ 程序无法运行。
而且,朝阳群众睁大双眼,网墙面前 Github 上的 Go+ builtin 包尚未获得入境许可,所以…
于是需要按照以下步骤操作:
# 启用 Go Modules 功能
go env -w GO111MODULE=on
# 设置 GOPROXY 代理
go env -w GOPROXY=https://goproxy.io,direct
# 下载指定的包
go get github.com/goplus/gop/builtin
3. 第一个 Go+ 程序
3.1 创建 Go+ 项目目录
- 在控制台进入 Go+ 运行路径,创建 Go+ 项目目录:
# 进入 go+ 运行路径
cd gop
# 创建项目目录 demo1
md demo1
# 进入项目目录 demo1
cd demo1
# 初始化
go mod init demo1
- 以上建立项目目录 “\\gop\\demo1”,也可以直接在 Windows 系统新建文件夹,但还是需要执行初始化过程。
3.2 编写 Go+ 程序
接着编写一个简单的 Go+ 程序文件,保存为 demo1.gop。
注意程序文件要保存在刚才建立的 Go+ 项目目录 "\\gop\\demo1"下。
程序内容很简单,与前面的 go 程序相似:
package main
import "fmt"
func main()
fmt.Println("Hello world with Go+!") //调用函数
fmt.Println("First Go+ program by youcans.")
用什么编写?文本编辑器就可以。当然,更方便的方法是使用集成开发环境 IDE,我们将在下一篇中介绍。
3.3 运行 Go+ 程序 demo1.gop
(2)运行程序 demo1.gop
- 在控制台进入 Go+ 运行路径,并运行 Go+ 程序 demo1.gop:
# 进入 go+ 运行路径
cd gop
# 进入项目目录 demo1
cd demo1
# 运行 Go+ 例程 demo1.gop
gop run demo1.gop
- 如下图所示,程序在控制台输出 “Hello world with Go+!”:
至此,我们就完成了第一个 Go+ 程序的编写、调试和运行!
4. 总结
- Go+ 语言的安装和环境配置有些复杂,官方教程也没有写的很详细。本文从零开始,详细介绍 Go+ 的安装过程。不漏过一个细节,带你完成第一个 Go+ 程序。
- 通过控制台编写和运行 Go+ 程序很不方便,关于集成开发环境(IDE)的安装和使用,我们将在下一篇中详细介绍。
- 预告如下,有兴趣的朋友可以关注收藏。
【本节完】
版权声明:
原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/121584358)
Copyright 2021 youcans, XUPT
Crated:2021-11-28
欢迎关注 『我的Go+语言初体验』 系列,持续更新中…
以上是关于go语言数组(详细)的主要内容,如果未能解决你的问题,请参考以下文章
编程语言为什么我们更喜欢 Go 作为后端? Why we prefer Go for Backend