Go 语言 基础数据类型入门与使用

Go阿木 发布于 2025-06-22 13 次阅读


Go 语言基础数据类型入门与使用

Go 语言,也被称为 Golang,是由 Google 开发的一种静态类型、编译型、并发型编程语言。它以其简洁的语法、高效的性能和强大的并发处理能力而受到开发者的喜爱。在 Go 语言中,数据类型是构成程序的基础,理解并正确使用这些数据类型对于编写高效、可靠的代码至关重要。本文将围绕 Go 语言的基础数据类型进行介绍,帮助读者入门并掌握这些数据类型的使用。

一、Go 语言的数据类型概述

Go 语言的数据类型可以分为以下几类:

1. 值类型(Value Types)

2. 引用类型(Reference Types)

3. 布尔类型(Boolean Types)

4. 错误类型(Error Types)

下面将详细介绍这些数据类型。

二、值类型

值类型包括:

- 整型(Integer Types)

- 浮点型(Floating-Point Types)

- 字符串(String Types)

- 布尔型(Boolean Type)

1. 整型

Go 语言提供了多种整型,包括:

- int:有符号整型,根据平台不同,其大小可能为 16、32 或 64 位。

- int8:8 位有符号整型。

- int16:16 位有符号整型。

- int32:32 位有符号整型。

- int64:64 位有符号整型。

- uint:无符号整型,与 int 类似,但总是 32 位。

- uint8:8 位无符号整型。

- uint16:16 位无符号整型。

- uint32:32 位无符号整型。

- uint64:64 位无符号整型。

go

package main

import "fmt"

func main() {


var a int8 = 127


var b uint16 = 32767


fmt.Printf("a: %d, b: %d", a, b)


}


2. 浮点型

Go 语言提供了两种浮点型:

- float32:32 位浮点型。

- float64:64 位浮点型,是 Go 语言中默认的浮点型。

go

package main

import "fmt"

func main() {


var a float32 = 3.14


var b float64 = 2.71828


fmt.Printf("a: %f, b: %f", a, b)


}


3. 字符串

Go 语言的字符串是不可变的,由字节切片(slice)组成。

go

package main

import "fmt"

func main() {


var str string = "Hello, World!"


fmt.Println(str)


}


4. 布尔型

布尔型只有两个值:true 和 false。

go

package main

import "fmt"

func main() {


var isTrue bool = true


fmt.Println(isTrue)


}


三、引用类型

引用类型包括:

- 指针(Pointer)

- 切片(Slice)

- 映射(Map)

- 通道(Channel)

1. 指针

指针存储了变量的内存地址。

go

package main

import "fmt"

func main() {


var a int = 10


var ptr int = &a


fmt.Println("Value of a:", ptr)


}


2. 切片

切片是动态数组的抽象,它包含指向底层数组的指针、切片的长度和容量。

go

package main

import "fmt"

func main() {


var slice []int = []int{1, 2, 3, 4, 5}


fmt.Println(slice)


}


3. 映射

映射是键值对的集合,类似于其他语言中的哈希表。

go

package main

import "fmt"

func main() {


var mapVar map[string]int


mapVar["one"] = 1


mapVar["two"] = 2


fmt.Println(mapVar)


}


4. 通道

通道是用于并发编程的通信机制。

go

package main

import (


"fmt"


"sync"


)

func main() {


var wg sync.WaitGroup


ch := make(chan int)

wg.Add(1)


go func() {


defer wg.Done()


ch <- 42


}()

i := <-ch


fmt.Println(i)

wg.Wait()


}


四、总结

本文介绍了 Go 语言的基础数据类型,包括值类型和引用类型。通过这些数据类型,我们可以构建出各种复杂的数据结构,并利用 Go 语言的并发特性编写高效的程序。掌握这些基础数据类型是学习 Go 语言的关键,希望本文能帮助读者入门 Go 语言编程。