0

0

Go语言数据类型揭秘:完全展示

PHPz

PHPz

发布时间:2024-01-09 14:29:46

|

5361人浏览过

|

来源于php中文网

原创

解密go语言的数据类型:一览无余

解密Go语言的数据类型:一览无余,需要具体代码示例

一、引言
编程语言中的数据类型对于开发者来说是非常重要的,它决定了我们能够存储和操作哪些种类的数据。在Go语言中,数据类型的概念和其他编程语言类似,但是Go语言有自己独特的数据类型体系和特性。本文将带你深入了解Go语言的数据类型,通过具体的代码示例来解密这个大家庭。

二、基本数据类型

Go语言的基本数据类型包括:布尔型、整型、浮点型、复数、字符串和字符。它们分别是bool、int、float、complex、string和rune,下面我们分别来看一下。

立即学习go语言免费学习笔记(深入)”;

  1. 布尔型(bool)
    布尔类型的值只有两个,即true和false。与其他语言一样,我们可以使用布尔型来判断和控制程序的流程。

示例代码:

STORYD
STORYD

帮你写出让领导满意的精美文稿

下载
package main

import "fmt"

func main() {
   var b bool = true
   fmt.Println(b)
}
  1. 整型(int)
    整型数据类型可以存储整数值,它的大小和底层计算机架构有关。在Go语言中,整型又分为有符号整型和无符号整型。下面是一些常用的整型数据类型:
  • int8:有符号8位整数,取值范围为-128到127。
  • int16:有符号16位整数,取值范围为-32768到32767。
  • int32:有符号32位整数,取值范围为-2147483648到2147483647。
  • int64:有符号64位整数,取值范围为-9223372036854775808到9223372036854775807。
  • uint8:无符号8位整数,取值范围为0到255。
  • uint16:无符号16位整数,取值范围为0到65535。
  • uint32:无符号32位整数,取值范围为0到4294967295。
  • uint64:无符号64位整数,取值范围为0到18446744073709551615。
  • int:根据操作系统和编译器的位数而定,32位操作系统为32位整数,64位操作系统为64位整数。
  • uint:根据操作系统和编译器的位数而定,32位操作系统为32位无符号整数,64位操作系统为64位无符号整数。

示例代码:

package main

import "fmt"

func main() {
   var i int = 10
   fmt.Println(i)
}
  1. 浮点型(float)
    浮点型数据类型可以存储小数值,它有两个精度: float32和float64。
  • float32:单精度浮点数,精确到小数点后7位。
  • float64:双精度浮点数,精确到小数点后15位。

示例代码:

package main

import "fmt"

func main() {
   var f float32 = 3.14
   fmt.Println(f)
}
  1. 复数(complex)
    复数类型用于表示实部和虚部都是浮点型的复数。在Go语言中,复数类型有两个精度:complex64和complex128。
  • complex64:由两个float32表示实部和虚部。
  • complex128:由两个float64表示实部和虚部。

示例代码:

package main

import "fmt"

func main() {
   var c complex64 = complex(1, 2)
   fmt.Println(c)
}
  1. 字符串(string)
    字符串是Go语言中的一种数据类型,它用于表示一串字符。字符串是不可变的,即不能在原有的字符串中进行修改,但是我们可以通过一些函数和操作来处理字符串。在Go语言中,字符串是用双引号(")括起来的。

示例代码:

package main

import "fmt"

func main() {
   var s string = "Hello, World!"
   fmt.Println(s)
}
  1. 字符(rune)
    字符(rune)是Go语言中用来表示Unicode字符的数据类型,它实际上是一个整数类型,表示Unicode字符的代码点。字符使用单引号(')表示。

示例代码:

package main

import "fmt"

func main() {
   var r rune = '你'
   fmt.Println(r)
}

三、复合数据类型

除了基本数据类型,Go语言还提供了一些复合数据类型,包括数组(array)、切片(slice)、字典(map)、结构体(struct)、接口(interface)和函数(function)。

  1. 数组(array)
    数组是一种固定大小的数据结构,它可以存储一系列相同类型的元素。在Go语言中,数组的大小是固定的,不能改变。

示例代码:

package main

import "fmt"

func main() {
   var arr [3]int
   arr[0] = 1
   arr[1] = 2
   arr[2] = 3
   fmt.Println(arr)
}
  1. 切片(slice)
    切片是一种动态大小的数据结构,它可以根据需要自动扩容。切片使用make函数创建,也可以通过切片操作符[:]从数组或其他切片中创建。

示例代码:

package main

import "fmt"

func main() {
   arr := []int{1, 2, 3}
   fmt.Println(arr)
}
  1. 字典(map)
    字典是一种无序的集合,它由键和值组成。在Go语言中,字典使用make函数创建。

示例代码:

package main

import "fmt"

func main() {
   dict := make(map[string]int)
   dict["apple"] = 1
   dict["banana"] = 2
   dict["cherry"] = 3
   fmt.Println(dict)
}
  1. 结构体(struct)
    结构体是一种自定义的数据类型,它可以包含多个字段。每个字段都有自己的类型和名称。在Go语言中,结构体使用type关键字定义。

示例代码:

package main

import "fmt"

type Person struct {
   Name string
   Age  int
}

func main() {
   p := Person{"Alice", 18}
   fmt.Println(p)
}
  1. 接口(interface)
    接口是一种抽象的数据类型,它定义了一组方法的集合。接口可以被具体类型实现,并且可以通过接口类型来调用实现了该接口的方法。

示例代码:

package main

import "fmt"

type Shape interface {
   Area() float64
}

type Circle struct {
   Radius float64
}

func (c Circle) Area() float64 {
   return c.Radius * c.Radius * 3.14
}

func main() {
   var s Shape
   c := Circle{5}
   s = c
   fmt.Println(s.Area())
}
  1. 函数(function)
    函数是一段可重复使用的代码块,它可以接受参数并返回结果。在Go语言中,函数是一等公民,可以像其他值类型一样被传递和赋值。

示例代码:

package main

import "fmt"

func Add(a, b int) int {
   return a + b
}

func main() {
   sum := Add(1, 2)
   fmt.Println(sum)
}

总结
本文通过具体的代码示例对Go语言的数据类型进行了解密,详细介绍了Go语言的基本数据类型和复合数据类型。希望本文可以帮助大家更好地理解和应用Go语言的数据类型。

相关专题

更多
数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

298

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

216

2025.10.31

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

312

2023.08.02

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

553

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

95

2025.10.23

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

248

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

205

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1435

2023.10.24

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 3.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号