前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Go入门系列:变量声明

Go入门系列:变量声明

作者头像
每周聚焦
发布于 2022-08-17 01:58:58
发布于 2022-08-17 01:58:58
91810
代码可运行
举报
文章被收录于专栏:每周聚焦每周聚焦
运行总次数:0
代码可运行

首先明确一点就是Go语言是静态语言,意味着对于变量的使用来说,必须先进行声明之后才可以使用。

变量的声明方法

通用的变量声明格式如下:

这里和kotlin的变量声明方式有点类似, 比如都是把变量类型放在变量名后面,只不过,kotlin多一个“:”符号以及“;”分号,在之前的Go入门系列中我们提到Go编码中可以省略尾部的分号的。

如下是Kotlin变量通用声明格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*
关键字     变量类型
 ↓          ↓           */
var price: Int = 100;   /*
     ↑            ↑
   变量名        变量值   */
复制代码

Go语言还提供了**变量声明块(block)**的语法形式,可以用一个 var 关键字将多个变量声明放在一起,示例如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var (
    a int = 110
    b int8 = 8
    s string = "hello world"
    c rune = 'D' // Go中字符类型
    t bool = true
)
复制代码

以及在一行中声明多个变量,如下格式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a, b, c int = 1, 2, 3
等价于:
var a int = 1
var b int = 2
var c int = 3
复制代码

变量类型初值

与此同时,Go为开发者更好的使用,提供了两种“语法糖”

1. 省略类型信息的声明:

Go开发中支持省略类型信息,由go语言自动根据右边变量初值自动推导出变量类型,并赋予变量初值对应的默认类型。

示例如下, 会自动推导出b的类型为int.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var b = 8
复制代码

如果不想使用默认类型,可以通过如下方式显示的设置所需类型。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var b = int32(13)
复制代码
2. 短变量声明:

使用短变量声明时,我们甚至可以省去var关键字以及类型信息,它的标准范式是“varName := initExpression”。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a := 16
b := 'A'
c := "hello world"
复制代码

变量的分类

包级变量

在包级别可见的变量。如果是导出变量(大写字母开头),那么这个包级变量也可以被视为全局变量。

包级变量只能使用带有 var 关键字的变量声明形式,不能使用短变量声明形式。

也就是只能使用var b int = 100这种声明形式, 而不能使用b := 100 这种形式。

声明并初始化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var varName = initExpression

// 多变量
var (
  a = 13
  b = int32(17)
  f = float32(3.14)
)
复制代码

声明但延迟初始化。

对于声明后不显示初始化的变量,可以通过如下形式进行声明。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a int32
var b float64
复制代码

就近原则

我们尽可能在靠近第一次使用变量的位置声明这个变量。

局部变量

Go函数或方法体内声明的变量,仅在函数或方法体内可见,这种在编程语言通用的概念。

声明但延迟初始化的局部变量,使用通用方式, 和包级变量一样。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var a string
复制代码

对于声明且显式初始化的局部变量,建议使用短变量声明形式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a := 100
b := "hello world"
复制代码

尽量在分支控制时使用短变量声明形式

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
1 条评论
热度
最新
回复回复1举报
推荐阅读
编辑精选文章
换一批
go-变量和常量
变量:主要作用是存储信息,类似一个容器。变量的值是存储在计算机内存中。    在go中,变量有三个属性:变量类型、变量名和变量值。
新人小试
2020/02/25
4200
Go基础之变量和常量
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。
贾维斯Echo
2023/10/18
3290
Go基础之变量和常量
Go学习之旅1-变量定义
Go语言中变量定义 var关键字定义 初始值默认是类型的初始值 同时定义不同类型的变量,集中定义 var声明的变量可以放在函数体内或者包内 var关键字可以省略 短变量定义 短变量声明是通过:=实现的,只能放在函数体内 短变量声明和var关键字不能同时使用 package main import "fmt" // 变量定义 // 使用var定义:同时定义多个不同的变量;可以放在函数体内或者包内; // 通过var集中定义(放在括号内);var有时候能够省略,编译器自
皮大大
2021/03/02
3220
Go语言基础之变量和常量
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc,_,_123,a123。
twelvecoder
2022/05/11
2830
Go语言基础之变量和常量
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。
小小咸鱼YwY
2020/06/19
4000
Go 语言基础--变量&数据类型
Golang 变量声明和初始化比起其他语言要简单一些,并且丰富不少。 语法: var identifier type var 代表声明一个变量,identifier为变量名(go中变量名由字母、数字、下划线构成,首个字符不能为数字),type为变量类型。其中go变量的命名规则是建议驼峰式的。 常见的方式:
邹志全
2019/07/31
4090
【Go语言】| 第2课:变量声明与、初始化、匿名变量和作用域
在C语言中,声明变量如下,这样只有csdn是指针,但是zhou不是指针。如果采用go的一种形式,
程序员洲洲
2024/11/06
1030
【Go语言】| 第2课:变量声明与、初始化、匿名变量和作用域
Go语言基础之变量和常量
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123。
玖柒的小窝
2021/12/10
2320
Go语言基础之变量和常量
《Go语言精进之路:从新手到高手的编程思想、方法和技巧1》7-9章笔记
刚java转go时是有些不习惯,慢慢的就理解其中的好处了。其实就是约定俗成应用到命名中。
Yuyy
2022/09/16
7180
《Go语言精进之路:从新手到高手的编程思想、方法和技巧1》7-9章笔记
go语言的变量声明
注意初始化器的个数必须与变量个数相同。 有初始化器时,变量类型可以省略,该变量的类型会根据初始化器自动推断。 例子:
梦飞
2022/06/23
1.2K0
Go语言的基础语法以及变量和常量
在Go程序中,一般一行就是一个语句,不像Java等可以在一行写多个语句一样,而且最后也不需要用";"来结尾。
周小末天天开心
2023/10/16
1910
Go两周入门系列-基本数据类型
go语言提供了一种定义和初始化变量的快捷方式,短变量声明符号(:=),我们可以不必预先定义变量,而是在使用的时候直接初始化和定义变量
用户10002156
2023/09/21
2100
Go两周入门系列-基本数据类型
Golang 基础语法-基本变量
关键词 bool 用于定义 boolean类型变量,boolean 类型变量的取值只有 true 和 false, 零值(默认值)为 false golang 不允许把 boolean 类型转变为数字类型
luxixing
2019/05/28
4770
Golang 语言的多种变量声明方式和使用场景
在程序设计中,编译器必须将代表数据的变量名称替换成该数据所在的内存地址。变量的名称、类型及内存地址通常会维持固定,但该内存地址所存储的数据在程序执行期间则可能会改变。
frank.
2022/03/31
1.7K0
go语言快速入门——常量和变量
在go中,所有的字面值都是常量,被称为“无名常量”,false和true是预声明的两个具名常量。自定义具名常量使用关键字 const 定义,用于存储不会改变的数据。和C/C++中宏定义类似。
zy010101
2022/07/27
6850
Go 语言基础入门教程 —— 变量声明、初始化、赋值和作用域
变量是几乎所有编程语言中最基本的组成元素。从本质上说,变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。
学院君
2019/08/08
1.7K0
Go——基础(1)
最近因为又报了那边的青训,后端方向的,应该是全程使用Go语言的,所以把暑假整理的笔记拿来复习一下。然后这次应该不会全程参与,主要是探索一下自己适不适合后端的工作,就先这样吧,然后下面是笔记。
mumumu
2023/01/11
4570
【Go语言基础】变量和常量
用Go语言编写的程序都是从基本组件构成,而构成这些基本组件的是标识符,本章中将介绍到Go语言中使用到变量,常量以及基本数据类型。
felixzhao
2021/09/06
4510
100天精通Golang(基础入门篇)——第4天: Go语言中的变量与常量详解:声明、赋值和使用
Go语言是一门简洁高效的编程语言,对于初学者来说,理解变量和常量的概念是非常重要的。本篇博客将深入探讨Go语言中变量和常量的声明、赋值和使用,帮助读者掌握这些基本概念,为编写高质量的Go程序打下坚实基础。
猫头虎
2024/04/08
2050
100天精通Golang(基础入门篇)——第4天: Go语言中的变量与常量详解:声明、赋值和使用
Golang深入浅出之-Go语言基础语法:变量声明与赋值
在Go语言的学习和面试过程中,对变量声明与赋值的理解和熟练运用至关重要。本文将深入浅出地探讨Go语言中变量的声明、赋值、初始化规则以及相关常见问题与易错点,辅以代码示例,帮助读者提升理解和应用能力。
Jimaks
2024/04/23
4610
推荐阅读
相关推荐
go-变量和常量
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验