GO语言基础之数组
1.申明一个数组 var a[2] int 或者 a:=[2]int{1,2}
2.数组索引
数组就是索引的来建立如下图
我们再来一个测试
3.go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明
a:=[...]int{1,2,3,45}
4.指针数组
a:=[3]int{1,2,3}
var p * [3]int = &a //这种是指针数组 我们看到可以直接输出指向数组的指针
x , y :=1 ,3
a := [...]*int{&x ,&y}
str.Println(a) //输出这样[0xc080000068 0xc080000070]的地址 这就是数组指针
可以用new关键字申明
p := new([10]int)
fmt.Println(p) //&[0 0 0 0 0 0 0 0 0 0] 输出一个指针
多维数组跟其他语言一样
c := [3][2]int{{1: 2}, {2, 1}, {2, 2}}
fmt.Println(c) //输出[[0 2] [2 1] [2 2]]
冒泡算法之go语言版
package main
import "fmt"
func main() {
a := [...]int{3, 2, 5, 8, 6}
fmt.Println(a)
num := len(a)
for i := 0; i < num; i++ {
for j := i + 1; j < num; j++ {
if a[i] < a[j] {
temp := a[i]
a[i] = a[j]
a[j] = temp
}
}
}
fmt.Println(a)
}
相关推荐
-
Go语言算法之寻找数组第二大元素的方法
本文实例讲述了Go语言算法之寻找数组第二大元素的方法.分享给大家供大家参考.具体如下: 该算法的原理是,在遍历数组的时,始终记录当前最大的元素和第二大的元素.示例代码如下: 复制代码 代码如下: package demo01 import ( "fmt" ) func NumberTestBase() { fmt.Println("This is NumberTestBase") nums := []int{12, 2
-
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
本文实例讲述了php实现有序数组打印或排序的方法.分享给大家供大家参考,具体如下: 有序的数组打印或排序对于php来讲非常的简单了这里整理了几个不同语言的做法的实现代码,具体的我们一起来看这篇php中有序的数组打印或排序的例子吧. 最近有个面试题挺火的--把2个有序的数组打印或排序,刚看到这个题的时候也有点蒙,最优的算法肯定要用到有序的特性. 思考了一会发现也不是很难,假如数组是正序排列的,可以同时遍历2个数组,将小的值进行排序,最后会遍历完一个数组,留下一个非空数组,而且剩下的值肯定大于等于已
-
深入理解Go语言中的数组和切片
一.类型 数组是值类型,将一个数组赋值给另一个数组时,传递的是一份拷贝. 切片是引用类型,切片包装的数组称为该切片的底层数组. 我们来看一段代码 //a是一个数组,注意数组是一个固定长度的,初始化时候必须要指定长度,不指定长度的话就是切片了 a := [3]int{1, 2, 3} //b是数组,是a的一份拷贝 b := a //c是切片,是引用类型,底层数组是a c := a[:] for i := 0; i < len(a); i++ { a[i] = a[i] + 1 } //改变a的值后
-
GO语言数组和切片实例详解
本文实例讲述了GO语言数组和切片的用法.分享给大家供大家参考.具体分析如下: 一.数组 与其他大多数语言类似,Go语言的数组也是一个元素类型相同的定长的序列. (1)数组的创建. 数组有3种创建方式:[length]Type .[N]Type{value1, value2, ... , valueN}.[...]Type{value1, value2, ... , valueN} 如下: 复制代码 代码如下: func test5() { var iarray1 [5]int32
-
Go语言使用sort包对任意类型元素的集合进行排序的方法
本文实例讲述了Go语言使用sort包对任意类型元素的集合进行排序的方法.分享给大家供大家参考.具体如下: 使用sort包的函数进行排序时,集合需要实现sort.Inteface接口,该接口中有三个方法: 复制代码 代码如下: // Len is the number of elements in the collection. Len() int // Less reports whether the element with // index i should sort before t
-
Go语言创建、初始化数组的常见方式汇总
本文实例总结了Go语言创建.初始化数组的常见方式.分享给大家供大家参考.具体分析如下: Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式: 复制代码 代码如下: //数组初始化的各种方式 func arraySliceTest0201() { //创建数组(声明长度) var array1 = [5]int{1, 2, 3} fmt.Printf("array1--- type:%T \n", array1) rangeIntPrin
-
Go语言实现冒泡排序、选择排序、快速排序及插入排序的方法
本文实例讲述了Go语言实现冒泡排序.选择排序.快速排序及插入排序的方法.分享给大家供大家参考.具体分析如下: 算法是程序的灵魂,而排序算法则是一种最基本的算法.排序算法有许多种,这里介绍4中排序算法:冒泡排序,选择排序,快速排序和插入排序,以从小到大为例. 一.冒泡排序 冒泡排序的原理是,对给定的数组进行多次遍历,每次均比较相邻的两个数,如果前一个比后一个大,则交换这两个数.经过第一次遍历之后,最大的数就在最右侧了:第二次遍历之后,第二大的数就在右数第二个位置了:以此类推. 复制代码 代码如下:
-
Go语言实现选择法排序实例
本文实例讲述了Go语言实现选择法排序的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import "fmt" func select_sort(a []int) { len := len(a) for i:=0; i < len-1; i++ { k := i j:= i + 1 for ; j < len; j++ { if a[j] < a[k] { k = j } } if k
-
Go语言获取数组长度的方法
本文实例讲述了Go语言获取数组长度的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: // getting the length of an array is silly, because the length is part of the array's static type myArray := [3]int{1, 2, 3} fmt.Println(len(myArray)) // prints 3 // getting the length of a slice m
-
浅谈Go语言中字符串和数组
go语言里边的字符串处理和PHP还有java 的处理是不一样的,首先申明字符串和修改字符串 复制代码 代码如下: package main import "fmt" var name string //申明一个字符串 var emptyname string = "" //申明一个空字符串 func main() { //申明多个字符串并且赋值 a, b, v := "hello", "word", &
-
Go语言中数组的基本用法演示
首先来看一下如何声明数组: 复制代码 代码如下: package main import "fmt" var arr [2]int //申明一个数组 func main() { arr[0] = 1 //数组赋值 fmt.Println(arr) arrtest := [3]int{1, 2, 3} //数组的另一种申明方式 fmt.Println(arrtest) a := [...]int{1, 2} //[...]自动识别数组的长度 fmt.Println(a) f
-
Golang算法问题之数组按指定规则排序的方法分析
本文实例讲述了Golang算法问题之数组按指定规则排序的方法.分享给大家供大家参考,具体如下: 给出一个二维数组,请将这个二维数组按第i列(i从1开始)排序,如果第i列相同,则对相同的行按第i+1列的元素排序, 如果第i+1列的元素也相同,则继续比较第i+2列,以此类推,直到最后一列.如果第i列到最后一列都相同,则按原序排列. 样例输入: 1,2,3 2,3,4 2,3,1 1,3,1 按第2列排序,输出: 1,2,3 2,3,1 1,3,1 2,3,4 代码实现: 复制代码 代码如下: pac
随机推荐
- 微信报警 zabbix实现详解
- SQL Server 2005中的外联结用法
- 利用Angularjs和Bootstrap前端开发案例实战
- ntiIframe.vbs用于批量清除被添加到文件中的恶意代码
- C语言中 int main(int argc,char *argv[])的两个参数详解
- 怎样删除android的gallery中的图片实例说明
- 基于PHP Web开发MVC框架的Smarty使用说明
- PHP应用分页显示制作详细讲解
- CodeIgniter自定义控制器MY_Controller用法分析
- Drupal7中常用的数据库操作实例
- 利用JavaScript实现新闻滚动效果(实例代码)
- vue2.0实战之基础入门(1)
- asp被杀毒软件误删的解决方法
- NextRecordset 和 GetRows 双簧合奏
- 微信小程序 教程之事件
- IIS下ASP目录漏洞和IIS分号漏洞(;)的临时解决方法
- 港珠澳大桥架起商机 HK域名身价飙升
- 分享一个PHP数据流应用的简单例子
- iOS实现转场动画的3种方法示例
- Java实现ATM取款机程序