程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

Go语言零到一:初识变量(go语言示例)

balukai 2025-07-14 14:50:13 文章精选 3 ℃

引言

变量和常量是编程语言中最基本的概念之一。在 Go 语言中,变量用于存储数据,而常量则用于表示不可更改的值。本节将介绍如何在 Go 语言中声明和使用变量与常量。

1. 变量

  • 声明变量:
    • 使用 var 关键字声明变量。
    • 示例:var age int = 30
    • 等价于:var age int 然后 age = 30
    • 简化声明:可以直接赋值来声明变量,省略 var 关键字。
    • 示例:age := 30 (Go 会自动推断类型)
  • 变量类型:
    • 整型:int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr
    • 浮点型:float32, float64
    • 字符串:string
    • 布尔型:bool
    • 空接口:interface{}
  • 复合类型:
    • 数组:[5]int (固定长度数组)
    • 切片:[]int (动态长度数组)
    • 映射:map[string]int
    • 结构体:struct { Name string; Age int }
  • 核心类型:
    • channel:chan T
    • channel(管道)是Go中的一个核心类型,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)
  • 初始化变量:
    • 可以在声明时初始化变量。
    • 示例:var name string = "Alice"
    • 省略类型时,Go 会自动推断类型。
    • 示例:name := "Alice"
  • 零值:
    • 如果变量未初始化,则会赋予零值。
    • 示例:var age int (age 的值为 0)
    • 示例:var name string (name 的值为空字符串 "")
  • 多个变量声明:
    • 可以在同一行声明多个变量。
    • 示例:var name, age string = "Alice", "30"
  • 短变量声明:
    • 使用 := 运算符进行短变量声明。
    • 示例:name, age := "Alice", 30
  • 类型推断:
    • 当使用 := 运算符时,Go 会根据初始化表达式的类型自动推断变量类型。

2. 常量

  • 声明常量:
    • 使用 const 关键字声明常量。
    • 示例:const pi float64 = 3.14159
  • 复合常量:
    • 可以声明多个常量。
    • 示例:const ( a, b = 1, 2 )
  • 类型限制:
    • 常量在声明时必须指定类型。
    • 示例:const name string = "Alice"
  • 常量表达式:
    • 常量的值必须是编译时常量表达式。
    • 示例:const oneThird = 1 / 3
  • Unicode 字符:
    • 常量可以是 Unicode 字符。
    • 示例:const unicodeChar rune = '"a'

3. 示例代码

// https://go.dev/play/p/f1Lkt_qRfHQ
package main

import "fmt"

func main() {
	// 变量声明和初始化
	var name string = "Victor"
	age := 30
	fmt.Println("Name:", name)
	fmt.Println("Age:", age)

	// 多个变量声明
	var (
		firstName string = "John"
		lastName  string = "Doe"
	)
	fmt.Println("Full name:", firstName, lastName)

	// 常量声明
	const pi float64 = 3.14159
	fmt.Println("Pi:", pi)

	// 常量
	const (
		a, b = 1, 2
	)
	fmt.Println("a:", a, "b:", b)
}

Tags:

最近发表
标签列表