首页 > 其他分享 >Go语言中变量初始化的所有方式

Go语言中变量初始化的所有方式

时间:2023-07-25 21:57:05浏览次数:31  
标签:初始化 变量 int make 初始值 var Go

在 Go 语言中,变量的初始化可以通过以下几种方法完成:

  1. 声明同时初始化:
    在变量声明的同时进行初始化,可以直接指定变量的初始值。

    var num int = 42
    var name string = "John"
    var isActive bool = true
    
  2. 短变量声明初始化:
    使用短变量声明语法 := 可以在函数内部快速声明并初始化变量。

    num := 42
    name := "John"
    isActive := true
    
  3. 初始化为零值:
    在声明变量时,如果没有显式指定初始值,Go 语言会将变量初始化为其对应类型的零值。

    var num int // 初始值为 0
    var name string // 初始值为空字符串 ""
    var isActive bool // 初始值为 false
    
  4. 使用 new 函数初始化:
    new 函数用于在堆上动态分配内存,并将分配的内存初始化为零值,返回指向该内存的指针。

    ptrInt := new(int) // ptrInt 指向一个整数类型,其值为 0
    ptrFloat := new(float64) // ptrFloat 指向一个浮点数类型,其值为 0.0
    
  5. 使用结构体字面量初始化:
    对于自定义的结构体类型,可以使用结构体字面量的方式进行初始化。

    type Point struct {
        X int
        Y int
    }
    
    p := Point{X: 10, Y: 20} // 创建一个 Point 类型变量,并设置 X 和 Y 的初始值
    
  6. 使用切片、映射和通道的 make 函数初始化:
    使用 make 函数可以初始化切片、映射和通道,并设置它们的初始值。

    // 初始值为空的整数类型切片,长度为 5,容量为 10
    slice := make([]int, 5, 10)
    
    // 初始值为空的整数类型映射
    m := make(map[string]int)
    
    // 初始值为空的整数类型通道
    ch := make(chan int)
    
  7. 使用数组字面量初始化数组:
    对于数组,可以使用数组字面量来进行初始化,可以指定数组的每个元素的值。

    arr := [3]int{1, 2, 3} // 创建一个包含 3 个整数的数组,并设置初始值为 1, 2, 3
    

标签:初始化,变量,int,make,初始值,var,Go
From: https://www.cnblogs.com/tangjicheng/p/17581144.html

相关文章

  • Go语言的Printf用法
    在Go语言中,Printf是用于格式化输出的函数,用于将数据以指定格式打印到标准输出或其他输出流。其中,%p是Printf函数的一个格式化动词,用于输出指针的值。以下是%p的详细说明以及其他常用的格式化动词:%p:%p用于格式化输出指针的值。它将一个指针的十六进制值打印出来,前面带......
  • go刷题Leetcode,生成文件夹与go文件模板
    go生成文件夹与模板起因以前是用C/C++刷Leetcode时,将多个C/CPP文件放在同一个目录下,没有出任何问题,但是换成Go语言刷题。在一个目录下创建多个go文件,每个文件都是以下packagemainfuncmain(){}在vscode下会出问题,会报错,这让我很难受。这样做,在Goland下没有问题,Go......
  • python全局变量定义
    Python全局变量定义在编程中,全局变量是在整个程序中都可以被访问和使用的变量。在Python中,我们可以通过在函数外部定义变量来创建全局变量。本文将介绍Python全局变量的定义以及如何在代码中使用它们。定义全局变量Python中定义全局变量非常简单,只需要在函数外部声明变量即可。......
  • pytorch权重初始化
    PyTorch权重初始化在使用PyTorch进行深度学习模型开发时,权重初始化是非常重要的一步。合适的权重初始化可以加速模型的收敛速度,提高模型的性能。本文将介绍PyTorch中权重初始化的步骤和常用的方法,并展示相应的代码示例。权重初始化流程下面是PyTorch中权重初始化的基本流程:......
  • 四、python变量与基本数据类型
    上节课复习:1、机器语言、汇编语言、编译型、解释型语言在执行效率、开发效率、跨平台性方面的高低对比2、python解释器与python语言的关系1、python解释器是一款应用程序,专门用来解释python这门语言的语法风格并执行的2、python语言编写的程序最终......
  • Jmeter配置起来太繁琐?试试RunnerGo
    在用jmeter做性能测试时想看完整一点的测试报告,想配置阶梯模式来压测,想配置不同的接口并发这些都需要安装插件并且影响机器性能,想做自动化测试还得放到jenkins,这些配置起来太繁琐。今天给大家推荐一款测试平台RunnerGo,内置各种测试工具解决这些痛点。不需要扩展插件即可实时查看测......
  • ubuntu 设置 python环境变量
    Ubuntu设置Python环境变量在Ubuntu上设置Python环境变量是一项重要的任务,因为它允许您轻松地访问和使用Python解释器、模块和包。本文将向您介绍如何设置Python环境变量,并提供一些示例来帮助您更好地理解。什么是环境变量?环境变量是操作系统中一些特定值的名称,这些值......
  • ubuntu android adb 环境变量配置
    UbuntuAndroidADB环境变量配置简介在开发Android应用程序时,ADB(AndroidDebugBridge)是一个非常重要的工具。ADB提供了与Android设备进行通信的能力,可以用于应用程序的调试、安装、卸载等操作。本文将介绍如何在Ubuntu系统下配置ADB环境变量,以便能够在任何目录下直接......
  • goaccess日志分析器使用
    一、安装goaccess软件1、安装依赖yum-yinstalllibmaxminddb-develncurses-libsncurses-developensslopenssl-devel2、下载软件wgethttps://tar.goaccess.io/goaccess-1.4.tar.gz3、编译安装tar-xzvfgoaccess-1.4.tar.gz-C/usr/local/cd/usr/local/goaccess-......
  • c#变量类型
    有符号整数sbyte(-128~127)int(-21亿多~21亿多)short(-3万多~3万多)long(-9百万兆多~9百万兆多)无符号整数byte(0~255)uint (0~42亿多)ushort (0~6万多)ulong(0~18百万兆多)浮点数 float(7~8位有效数字)double(15~17位......