GO语言短变量声明的实现示例

Written by

in

文章目录
  • variableName := value
  • 1、自动类型推断:编译器会根据右侧的值自动推断变量类型。 x := 42 // int y := “hello” // string z := 3.14 // float64 2、只能用于局部变量:只能在函数或方法内部使用,不能在全局(包级别)使用。3、可以同时声明多个变量。 a, b := 1, “two” 4、至少声明一个新变量:在 := 左侧的变量中,至少有一个必须是新变量(未声明过的),否则会报错。 x := 10 x, y := 20, 30 // 正确,因为 y 是新变量 x, y := 40, 50 // 错误:no new variables on left side of :=
  • 特性 :=(短变量声明) var 声明 作用域 仅限函数内部 全局或局部均可 类型推断 可自动推断 可自动推断 显式类型声明 不可指定 可指定(var x int = 10) 多变量声明 支持(a, b := 1, 2) 支持(var a, b = 1, 2) 重新声明限制 至少一个新变量 不能重复声明(同一作用域)
  • 1、函数内部快速声明变量 func main() { name := “Alice” // 自动推断为 string age := 30 // 自动推断为 int fmt.Println(name, age) } 2、多返回值函数的接收 func getData() (int, string) { return 100, “OK” } func main() { code, msg := getData() // 自动推断 code(int), msg(string) fmt.Println(code, msg) } 3、if、for 等语句中的临时变量 if n := 10; n > 5 { fmt.Println(“n is greater than 5”) }
  • 1、不能在全局使用 package main x := 10 // ❌ 错误:syntax error: non-declaration statement outside function body func main() { y := 20 // ✅ 正确 } 2、不能用于已声明的变量(除非至少一个新变量) func main() { a := 10 a := 20 // ❌ 错误:no new variables on left side of := a, b := 20, 30 // ✅ 正确,因为 b 是新变量 } 3、类型一旦确定,不能更改 x := 10 x = “hello” // ❌ 错误:cannot use “hello” (untyped string constant) as int value 到此这篇关于GO语言短变量声明的实现示例的文章就介绍到这了,更多相关GO语言短变量声明内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!  您可能感兴趣的文章: Go习惯用法(多值赋值短变量声明赋值简写模式)基础实例
  • 目录
    • 基本语法
    • 功能特点
    • 与var的区别
    • 适用场景
    • 注意事项

    variableName := value
    

    1、自动类型推断:编译器会根据右侧的值自动推断变量类型。

    x := 42      // int
    y := "hello" // string
    z := 3.14    // float64
    

    2、只能用于局部变量:只能在函数或方法内部使用,不能在全局(包级别)使用。
    3、可以同时声明多个变量。

    a, b := 1, "two"
    

    4、至少声明一个新变量:在 := 左侧的变量中,至少有一个必须是新变量(未声明过的),否则会报错。

    x := 10
    x, y := 20, 30  // 正确,因为 y 是新变量
    x, y := 40, 50  // 错误:no new variables on left side of :=
    

    特性 :=(短变量声明) var 声明
    作用域 仅限函数内部 全局或局部均可
    类型推断 可自动推断 可自动推断
    显式类型声明 不可指定 可指定(var x int = 10)
    多变量声明 支持(a, b := 1, 2) 支持(var a, b = 1, 2)
    重新声明限制 至少一个新变量 不能重复声明(同一作用域)

    1、函数内部快速声明变量

    func main() {
        name := "Alice"  // 自动推断为 string
        age := 30        // 自动推断为 int
        fmt.Println(name, age)
    }
    

    2、多返回值函数的接收

    func getData() (int, string) {
        return 100, "OK"
    }
    
    func main() {
        code, msg := getData()  // 自动推断 code(int), msg(string)
        fmt.Println(code, msg)
    }
    

    3、if、for 等语句中的临时变量

    if n := 10; n > 5 {
        fmt.Println("n is greater than 5")
    }
    

    1、不能在全局使用

    package main
    
    x := 10  // ❌ 错误:syntax error: non-declaration statement outside function body
    
    func main() {
        y := 20  // ✅ 正确
    }
    

    2、不能用于已声明的变量(除非至少一个新变量)

    func main() {
        a := 10
        a := 20  // ❌ 错误:no new variables on left side of :=
        a, b := 20, 30  // ✅ 正确,因为 b 是新变量
    }
    

    3、类型一旦确定,不能更改

    x := 10
    x = "hello"  // ❌ 错误:cannot use "hello" (untyped string constant) as int value
    

    到此这篇关于GO语言短变量声明的实现示例的文章就介绍到这了,更多相关GO语言短变量声明内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 

    您可能感兴趣的文章:

    • Go习惯用法(多值赋值短变量声明赋值简写模式)基础实例

    站内搜索