Go语言中数组的基本用法演示

 更新时间:2015年10月28日 14:36:19   投稿:goldensun  
这篇文章主要介绍了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)
 fmt.Println(len(a))//输出数组的长度
}


go语言可以自动计算数组的长度,譬如你知道数组有几个可以如下申明
复制代码 代码如下:

a:=[...]int{1,2,3,45}

指针数组
复制代码 代码如下:

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]]

下边是slice的申明和使用其实这就是一种动态的数组

复制代码 代码如下:

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)
 fmt.Println(len(a))//输出数组的长度
}

来看一下冒泡算法之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)
}

相关文章

  • gRPC超时拦截器实现示例

    gRPC超时拦截器实现示例

    这篇文章主要为大家介绍了gRPC超时拦截器实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Go语言中转换JSON数据简单例子

    Go语言中转换JSON数据简单例子

    这篇文章主要介绍了Go语言中转换JSON数据简单例子,本文先定义了一个结构体,然后把JSON绑定到结构体上实现读取,需要的朋友可以参考下
    2014-10-10
  • go-micro微服务JWT跨域认证问题

    go-micro微服务JWT跨域认证问题

    JWT 以 JSON 对象的形式安全传递信息。因为存在数字签名,因此所传递的信息是安全的,这篇文章主要介绍了go-micro微服务JWT跨域认证,需要的朋友可以参考下
    2023-01-01
  • golang的串行处理和并行处理区别

    golang的串行处理和并行处理区别

    golang对比其它语言最大的优势就是并行计算(一个go就能实现并发),工作中经常遇到并发的场景, 本文主要介绍了golang的串行处理和并行处理,感兴趣的可以了解一下
    2021-07-07
  • 详解Go语言如何进行Http调用

    详解Go语言如何进行Http调用

    无论是微服务还是单体架构等,服务间都有相互通信的时候,而最直接的通信方法就是 HTTP 调用,本文将会介绍在 Go 语言里,如何进行 HTTP 调用,需要的可以参考一下
    2022-12-12
  • 深入解析Sync.Pool如何提升Go程序性能

    深入解析Sync.Pool如何提升Go程序性能

    在并发编程中,资源的分配和回收是一个很重要的问题。Go 语言的 Sync.Pool 是一个可以帮助我们优化这个问题的工具。本篇文章将会介绍 Sync.Pool 的用法、原理以及如何在项目中正确使用它,希望对大家有所帮助
    2023-05-05
  • go gin+token(JWT)验证实现登陆验证

    go gin+token(JWT)验证实现登陆验证

    本文主要介绍了go gin+token(JWT)验证实现登陆验证,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • GO中sync包自由控制并发示例详解

    GO中sync包自由控制并发示例详解

    这篇文章主要为大家介绍了GO中sync包自由控制并发示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Golang生成Excel文档的方法步骤

    Golang生成Excel文档的方法步骤

    生成Excel是一个很常见的需求,本文将介绍如何使用Go的 Excelize库去生成Excel文档,以及一些具体场景下的代码实现,感兴趣的可以参考一下
    2021-06-06
  • Go指针的具体使用

    Go指针的具体使用

    本文主要介绍了Go指针的具体使用,包括使用指针、空指针、指针数组、指向指针的指针等,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11

最新评论