返回顶部

golang 基础语法

复制代码
package main

import "fmt"

func main() {
    // 声明变量
    var a int // 使用 var 关键字声明变量 a,类型为 int
    a = 1     // 赋值
    fmt.Println(a)

    // 类型推导
    // 使用 := 自动推导类型并声明变量 b,其类型为 string
    b := "hello world"
    fmt.Println(b)

    // 多重赋值
    var x, y int
    x, y = 1, 2 // 多重赋值
    fmt.Println(x, y)

    // 定义函数
    sum := add(1, 2) // 调用 add 函数,并将返回值赋值给变量 sum
    fmt.Println(sum)

    // 函数作为值
    var f func(int) int // 定义一个函数变量 f,其类型为 func(int) int
    f = square          // 将 square 函数赋值给 f 变量
    fmt.Println(f(3))   // 调用 f 函数,输出 9

    // 匿名函数
    add := func(a, b int) int {
        return a + b
    }

    result := add(1, 2)
    fmt.Println(result) // 输出: 3

    // 定义结构体
    p1 := Person{Name: "Alice", Age: 20} // 创建一个 Person 类型的结构体实例 ,初始化 Name 和 Age 字段
    fmt.Println("p1", p1.Name, p1.Age)

    // 匿名结构体
    p2 := struct{ Name string }{Name: "Bob"} // 创建一个匿名结构体,包含一个 Name 字段并赋值为 "Bob"
    fmt.Println("p2", p2.Name)

    // 声明切片
    var s1 []int            // 使用 var 关键字声明一个整型切片 s1
    fmt.Println(len(s1), a) // 输出长度和内容(空)

    // 切片初始化
    s2 := []int{1, 2, 3} // 使用字面量初始化整型切片 s2
    fmt.Println(len(s2), a)

    // 切片追加元素
    s3 := []int{1, 2, 3} // 使用字面量初始化整型切片 a
    s3 = append(s3, 4)   // 追加元素 4
    fmt.Println(len(s3), a)

}

func square(x int) int { // 函数名为 square,接收一个 int 类型参数 x,返回值类型为 int
    return x * x
}

func add(a int, b int) int { // 函数名为 add,接收两个 int 类型参数 a 和 b,返回值类型为 int
    return a + b
}

type Person struct { // 定义名为 Person 的结构体
    Name string
    Age  int
}
复制代码

 

posted @   雨山木风  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示