Go初级二

Go初级入门(二):变量、常量与数据类型

大家好,欢迎来到《Go初级入门》系列的第二篇!在上一篇文章中,我们介绍了如何安装Go环境并运行第一个"Hello, World"程序。今天,我们将深入Go语言的基础语法,重点学习 变量、常量 以及 常用的数据类型

掌握这些基础知识,是你迈向Go语言开发的第一步。让我们开始吧!


一、变量(Variables)

变量是程序中用于存储数据的"容器"。在Go中,变量必须先声明后使用。

1. 变量声明语法

Go提供了多种声明变量的方式:

方式一:使用 var 关键字
go 复制代码
var name string
var age int

这表示声明了一个名为 name 的字符串变量和一个名为 age 的整型变量。

你也可以在同一行声明多个变量:

go 复制代码
var x, y int
var a, b, c string
方式二:声明并初始化
go 复制代码
var name string = "Alice"
var age int = 25

Go具有类型推导能力,因此你可以省略类型:

go 复制代码
var name = "Bob"
var age = 30  // Go会自动推断为int类型
方式三:短变量声明(最常用)

在函数内部,可以使用 := 快速声明并初始化变量:

go 复制代码
name := "Charlie"
age := 28

这是Go中最常见的变量声明方式,简洁高效。

⚠️ 注意::= 只能在函数内部使用,且变量必须是新声明的(不能重复声明)。


二、常量(Constants)

常量是程序运行期间不可更改的值。适合用于定义配置、数学常数等。

常量声明

使用 const 关键字:

go 复制代码
const Pi = 3.14159
const CompanyName = "TechGo"

你也可以批量声明:

go 复制代码
const (
    StatusOK = 200
    StatusNotFound = 404
    StatusServerError = 500
)

💡 小技巧:常量在编译时确定,不会占用运行时内存。


三、Go的基本数据类型

Go是静态类型语言,每个变量都有明确的类型。以下是Go中常见的基础数据类型:

1. 布尔类型(boolean)

go 复制代码
var isActive bool = true
var isDone = false

取值只有 truefalse

2. 整数类型

类型 描述
int 有符号整数(32位或64位)
int8 -128 到 127
int16 -32768 到 32767
int32 约 ±21亿
int64 更大范围的整数
uint 无符号整数
uint8 0 到 255(常用于字节)

一般情况下,使用 int 就足够了。

3. 浮点数类型

go 复制代码
var price float64 = 19.99
var rate = 3.14  // 默认是float64
  • float32:单精度浮点数
  • float64:双精度浮点数(推荐使用)

4. 字符串类型(string)

字符串用双引号包裹:

go 复制代码
var message string = "Hello, Go!"
name := "Lily"

Go中的字符串是不可变的,支持UTF-8编码。

5. 字符类型(rune)

Go中没有 char 类型,而是使用 rune 表示一个Unicode字符:

go 复制代码
var ch rune = 'A'
var emoji = '😊'  // 支持emoji

底层是 int32 类型。

6. 字节类型(byte)

byteuint8 的别名,常用于处理原始字节数据:

go 复制代码
var b byte = 'B'  // ASCII值66

四、查看变量类型

Go提供了 fmt.Printf%T 动词来打印变量类型:

go 复制代码
package main

import "fmt"

func main() {
    name := "GoLang"
    age := 15
    price := 9.99
    isActive := true

    fmt.Printf("name 的类型是: %T\n", name)
    fmt.Printf("age 的类型是: %T\n", age)
    fmt.Printf("price 的类型是: %T\n", price)
    fmt.Printf("isActive 的类型是: %T\n", isActive)
}

输出:

复制代码
name 的类型是: string
age 的类型是: int
price 的类型是: float64
isActive 的类型是: bool

五、最佳实践建议

  1. 优先使用 := 在函数内部快速声明变量。
  2. 明确类型 在导出变量或需要精确控制时显式声明类型。
  3. 常量命名 使用驼峰或全大写,如 MaxUsersAPI_TIMEOUT
  4. 避免使用 var 初始化多个不同类型的变量,影响可读性。

小结

在本篇文章中,我们学习了:

  • 如何声明和使用变量与常量
  • Go的常用基础数据类型
  • 不同变量声明方式的适用场景
  • 如何查看变量类型

这些是Go语言编程的基石。掌握它们,你就能开始编写更复杂的程序了。


下期预告

在下一篇文章中,我们将介绍 Go中的控制结构ifforswitch 等语句,带你写出更有逻辑的代码!


相关推荐
Yolo566Q18 分钟前
“R语言+遥感”的水环境综合评价方法实践技术应用
开发语言·r语言
David爱编程1 小时前
Java 守护线程 vs 用户线程:一文彻底讲透区别与应用
java·后端
小奏技术1 小时前
国内APP的隐私进步,从一个“营销授权”弹窗说起
后端·产品
小研说技术1 小时前
Spring AI存储向量数据
后端
苏三的开发日记1 小时前
jenkins部署ruoyi后台记录(jenkins与ruoyi后台处于同一台服务器)
后端
苏三的开发日记1 小时前
jenkins部署ruoyi后台记录(jenkins与ruoyi后台不在同一服务器)
后端
陈三一1 小时前
MyBatis OGNL 表达式避坑指南
后端·mybatis
whitepure1 小时前
万字详解JVM
java·jvm·后端
我崽不熬夜2 小时前
Java的条件语句与循环语句:如何高效编写你的程序逻辑?
java·后端·java ee
我崽不熬夜2 小时前
Java中的String、StringBuilder、StringBuffer:究竟该选哪个?
java·后端·java ee