GO语言的数据结构

news/2024/10/28 12:17:21/

Go语言(Golang)具有丰富的内建数据类型和一些基本的数据结构。以下是一些常见的数据结构

1、基本数据类型:

整数类型:int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64

浮点数类型:float32, float64

复数类型:complex64, complex128

布尔类型:bool

字符串类型:string

字符类型:rune(用于表示Unicode字符)

2、复合数据类型:

数组(Array): 固定大小的元素序列。

1

var arr [3]int // 声明一个包含3个整数的数组

切片(Slice): 动态大小的、可以改变的序列。

1

var slice []int // 创建一个切片

映射(Map): 无序的键值对集合。

1

var m map[string]int // 创建一个映射,键为字符串,值为整数

结构体(Struct): 自定义的复合数据类型,可以包含不同类型的字段。

1

2

3

4

type Person struct {

    Name string

    Age  int

}

通道(Channel): 用于在不同Go程(goroutine)之间传递数据的通信机制。

1

ch := make(chan int) // 创建一个整数类型的通道

3、其他数据结构

函数(Function): Go中函数也是一种数据类型,可以作为参数传递给其他函数。

1

2

3

func add(a, b int) int {

    return a + b

}

接口(Interface): 用于定义方法集合,实现了这些方法集合的类型称为该接口的实现。

1

2

3

type Shape interface {

    Area() float64

}

指针(Pointer): 用于存储变量的内存地址。

1

2

var x int

ptr := &x // ptr是指向x的指针

这些数据结构和类型使得Go语言适用于各种应用场景,从简单的脚本到复杂的并发网络服务。


http://www.ppmy.cn/news/1542578.html

相关文章

【GO实战课】第七讲:电子商务网站(7):性能优化和测试

1. 简介 本课程将探讨电子商务网站的性能优化和测试,以及使用GO语言实现。在本课程中,我们将介绍如何设计一个高性能、可扩展和可靠的电子商务网站,并演示如何使用GO语言编写相关代码。 本课程的目标是帮助学生理解电子商务网站的性能优化和测试原则,并提供一个实际的项目…

fastboot解锁操作

有时候会遇到这样的场景:设备需要解锁才能remount 操作如下: adb reboot bootloader 进入fastboot fastboot device 查看是否有fastboot设备 fastboot flashing unlock 解锁 fastboot reboot 重启生效 然后就能正常的root和remount&#xff1…

2024年,Rust开发语言,现在怎么样了?

Rust开发语言有着一些其他语言明显的优势,但也充满着争议,难上手、学习陡峭等。 Rust 是由 Mozilla 主导开发的通用、编译型编程语言,2010年首次公开。 在 Stack Overflow 的年度开发者调查报告中,Rust 连续多年被评为“最受喜爱…

First - Word Fall - Through ( FWFT ) Read Operation

When looking at Xilinx 8 Kintex-7 4 FPGAs memory resources 32, you’ll find that its FIFO generators support two modes of read options - standard read operating and FWFT read operation. What is FWFT? FWFT is a acronym for First-Word Fall-Through. It is g…

vue3+ts实时播放视频,视频分屏

使用vue3以及播放视频组件Jessibuca Jessibuca地址 使用循环个数来实现分屏 效果图&#xff0c;四屏 九屏 dom代码 <div class"icon"><div class"icon-box"><span class"text">分屏&#xff1a;</span><el-icon …

Docker:namespace环境隔离 CGroup资源控制

Docker&#xff1a;namespace环境隔离 & CGroup资源控制 Docker虚拟机容器 namespace相关命令ddmkfsdfmountunshare 进程隔离文件隔离 CGroup相关命令pidstatstresscgroup控制 内存控制CPU控制 Docker 在开发中&#xff0c;经常会遇到环境问题&#xff0c;比如程序依赖某个…

Qt元对象系统 —— 属性系统

目录 属性系统 进一步&#xff1a;使用上面的阐述详细讨论如何对对象的属性读写 一个例子 Detailed Descriptions of settings 我们下面要讨论的是Qt元对象系统的第二部分&#xff1a;那就是Qt的属性系统。我们知道大部分的类其实都在现实生活中表达一种属性——我们希望通过…

加密DNS有什么用?

在当今数字化高速发展的时代&#xff0c;网络安全和隐私保护成为人们日益关注的焦点。而加密 DNS作为一种新兴的技术手段&#xff0c;正逐渐发挥着重要的作用。 首先我们先来了解下什么是加密DNS&#xff0c;它究竟是什么&#xff1f; 加密DNS&#xff08;Domain Name System…