当前位置: 首页 > news >正文

Go基本语法——go语言中的四种变量定义方法

前言

        在go语言中,定义一个变量有四种方式,本文单从语法的层面来介绍这几种方式

单变量定义方法

1.var + 变量名 + 类型,不进行初始化

例如,定义一个变量a后为其赋值,并且打印其值,运行结果如下

	//1.不进行初始化var a inta = 1fmt.Println("var a = ", a)

值得的是,即使未为变量赋值,变量仍会有一个默认的值,例如,int类型的默认值是0

2.var + 变量名 + 类型 + 初始化

定义一个变量,在定义的时候就为其进行初始化值

	//2.进行初始化var b int = 2fmt.Println("var b = ", b)

3.var + 变量名 + 初始化

在进行初始化的时候,可以省略变量类型,变量类型根据后面的初始化数据推导

	//3.进行初始化自动推导类型var c = 3fmt.Printf("type C = %T\n", c)fmt.Println("var c = ", c)

4.变量名  :=  初始化

在进行初始化的时候,可以直接省略关键字var,直接通过":="进行声明并初始化,":="这个符号读作“冒等”

	//4.自动推导类型d := 4fmt.Printf("type D = %T\n", d)fmt.Println("var d = ", d)

当然,除了一次性定义一个变量,go语言也支持一次性定义多个变量

多变量定义方法

1.指定类型型

	var e, f int = 5, 6fmt.Println("var e = ", e)fmt.Println("var f = ", f)

2.自动推导型1

	var g, h = 7, "helloworld"fmt.Println("var g = ", g)fmt.Println("var h = ", h)

3.自动推导型2

	i, j := 8, "hahahaha"fmt.Println("var i = ", i)fmt.Println("var j = ", j)

4.var + 括号型

	var (x int    = 123y string = "hello"z        = 0.0)fmt.Printf("type X = %T\n")fmt.Printf("type Y = %T\n", y)fmt.Printf("type Z = %T\n", z)fmt.Println(x, y, z)

以上就是Go语言中定义变量的几种常见方式,在Go语言中,变量在使用前必须定义(这一点基本上所有语言通用),同时,变量定义了就一定要使用,否则会报错(这是Go语言变量的特色)

http://www.xdnf.cn/news/930727.html

相关文章:

  • 【Java学习笔记】BigInteger 和 BigDecimal 类
  • 【Go语言基础【19】】接口:灵活实现多态的核心机制
  • 基于RT-DETR算法的夜间交通车辆与行人目标检测
  • FPGA静态功耗
  • 2025年与2030年AI及AI智能体 (Agent) 市场份额分析报告
  • 网络之交换机
  • 【题解-洛谷】B3626 跳跃机器人
  • JavaWeb——登录(14/16):登录校验-Interceptor-详解(使用细节、拦截路径的配置、匹配规则、执行流程、拦截器与过滤器的区别)
  • 【华为云Astro 轻应用】组装“待处理工单”页面示例
  • C语言基础面试问答
  • 【人工智能 | 项目开发】Python Flask实现本地AI大模型可视化界面
  • 苍穹外卖-day01
  • 用 DeepSeek 高效完成数据分析与挖掘
  • Bootstrap Table开源的企业级数据表格集成
  • 大数据学习(133)-Hive数据分析2
  • 论文笔记:Large Language Models for Next Point-of-Interest Recommendation
  • 云原生监控体系建设:Prometheus+Grafana的企业级实践
  • 作为点的对象CenterNet论文阅读
  • 【论文阅读30】Bi-LSTM(2024)
  • Spring Boot + Flink + FlinkCDC 实现 MySQL 同步到 MySQL
  • 【Java学习笔记】Arrays类
  • 视频音频去掉开头结尾 视频去掉前n秒后n秒 电视剧去掉开头歌曲
  • 408第一季 - 数据结构 - 图
  • 数据结构排序
  • AU音频软件|Audition 2025网盘下载与安装教程指南
  • AURA智能助手在物联网(IoT)和数字化改造领域的使用
  • Linux运维新人自用笔记(乌班图apt命令和dpkg命令、两系统指令区别,rpm解决路径依赖、免安装配置java环境)
  • 机器学习用于算法交易(Matlab实现)
  • 在VSCode中使用Ultralytics扩展
  • 探索 Shell:选择适合你的命令行利器 bash, zsh, fish, dash, sh...