iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Go 语言的变量与常量的概念
  • 723
分享到

Go 语言的变量与常量的概念

2023-06-15 15:06:07 723人浏览 八月长安
摘要

本篇内容主要讲解“Go 语言的变量与常量的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go 语言的变量与常量的概念”吧!变量go 语言的变量声明和大多数语言类似,通过 var 关键字声明变

本篇内容主要讲解“Go 语言的变量与常量的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go 语言的变量与常量的概念”吧!

变量

go 语言的变量声明和大多数语言类似,通过 var 关键字声明变量,只是 go 语言作为静态类型语言,声明变量时需要指定其类型。

下面的代码表示声明一个『name』变量,类型为『string』,并给其赋值『"Shenfq"』。

var name string = "Shenfq"

如果我们不进行赋值,这变量会获得一个默认值,下面列举一些 go 语言中的基础类型及其默认值。

Go 语言的变量与常量的概念

多变量声明

上面介绍 go 语言通过 var 关键字进行单个变量声明,我们还可以通过 var 关键字进行多个变量的声明:

  1. // 声明两个变量为同一类型 

  2. var firstName, lastName string 

  3. // 给两个变量同时赋值 

  4. firstName, lastName = "frank", "shen" 


// 声明两个变量为不同类型 var (   age int  name string ) // 给两个变量同时赋值 age, name = 25, "Shenfq"

类型推导

如果我们在变量声明阶段,对变量进行了赋值操作,这时候我们是可以直接省略变量类型的,因为 go 在编译过程中会依据所赋予的初始值推导出其类型。

  1. var age = 25 

  2.  

  3. fmt.Printf("age 类型为:%T", age) // age 类型为:int 


var (   age = 18   name = "Shenfq" ) fmt.Printf("age 类型为:%T", age) // age 类型为:int fmt.Printf("name 类型为:%T", name) // name 类型为:string

简短格式

前面介绍了变量声明的时候,如果给定了初始值,go 在编译阶段可以进行类型推导。这种情况,go 提供了一种更简单的声明方式,通过 :=  的方式进行变量声明,可以省略 var 关键字。

  1. func main() { 

  2.   age := 25 

  3.  name := "Shenfq" 


// 也可以进行多个变量同时赋值 func main() {   age, name := 25, "Shenfq" }

⚠️注意事项一

这种声明方式只能用于函数体内,不能用于全局变量的声明。

// ⚠️ 不能在全局使用这种方式声明变量 age, name := 25, "Shenfq"  // 只能在函数体内使用该方式 func main() {  age, name := 25, "Shenfq"  fmt.Printf("age 类型为:%T", age)  fmt.Printf("name 类型为:%T", name) }

 Go 语言的变量与常量的概念

warning

⚠️注意事项二

已经声明过的变量,不能使用 := 的方式进行赋值。

func main() {   var age int  age := 25 }

 Go 语言的变量与常量的概念

已经声明过的变量,只能通过 = 的方式进行赋值。

func main() {   var age int  age = 25 }

全局变量与局部变量

简单来说,声明在函数体外的变量为全局变量,声明在函数体内的变量为局部变量。

局部变量如果有声明,没有进行使用,则不会通过编译。

func main() {   var age int }

 Go 语言的变量与常量的概念

但是,全局变量是可以声明而不使用的。

var age int func main() {  name := "Shenfq"  //fmt.Printf("age 类型为:%T", age)  fmt.Printf("name 类型为:%T", name) }

上面的代码中,我们声明了 age 全局变量,但是并未使用,可以正常编译。

空白标识符

前面介绍过,go 在变量赋值的时候,可以一次性对多个变量赋值。同时,go 的函数在 return 的时候,也能一次返回多个结果。

func double(num int) (string, int) {  var err string  if num < 0 {   err = "num 不能为负数"   return err, -1  }  result := num * 2  return err, result }

上面我们实现了一个 double 函数,该函数接受一个 int 类型的变量(num),返回两个值,一个为异常提示(string 类型),一个为 num *  2 的结果。如果 num < 0 , 则提示 num 不能负数。

func main() {  err, res := double(10)  if err != "" {   fmt.Printf(err)  } else {   fmt.Printf("结果为:%v", res)  } }

如果,我们并不关心 err ,只想执行 double 之后,输出其结果。

func main() {  err, res := double(10)  fmt.Printf("结果为:%v", res) }

 Go 语言的变量与常量的概念

运行后,我们会收到一个编译错误,err 变量并未使用。这时候,就需要用到空白标识符(_)。

func main() {  _, res := double(10)  fmt.Printf("结果为:%v", res) }

我们可以通过 _ 来接受 err 值,这个地方的值就会被抛弃掉,就能顺利通过编译。

常量

常量就是不会发生变化的变量,一旦声明就不会改变。go 语言中,常量的声明只需要将变量声明时的 var 关键字替换为 const 关键字。

// 隐式类型定义 const PI = 3.14 // 显式类型定义 const PI2 float  = 3.14

多常量声明

与变量类似,常量也支持一次性声明多个。

func main() {  const (   PI = 3.14   PI2 = 3.14  )  fmt.Printf("结果为:%v\n", PI)  fmt.Printf("结果为:%v\n", PI2) }

 Go 语言的变量与常量的概念

如果一次声明多个常量时,某个常量如果为进行赋值,默认会与上一个常量的值进行同步。下面代码的运行结果,与上面的代码一致。

func main() {  const (   PI = 3.14   PI2  )  fmt.Printf("结果为:%v\n", PI)  fmt.Printf("结果为:%v\n", PI2) }

特殊常量

有个叫做 iota 的特殊常量,在常量的赋值过程中,会进行累加。

func main() {  const (   A = iota   B   C  )  fmt.Println(A, B, C) // 0 1 2 }

在 iota 累加的过程中,可以对其进行打断。

func main() {  const (   A = iota   B   C = "Shenfq"     D     E  )  fmt.Println(A, B, C, D, E) }

这时候输出的结果为:

Go 语言的变量与常量的概念

这是由于我们将常量 C 修改为了字符串 "Shenfq",常量 D、E 会默认与上一条常量保持同步,所以会得到上述结果。但是, iota  是支持重新恢复累加,只需要在指定位置重新赋值一次 iota 即可。

func main() {  const (   A = iota   B   C = "Shenfq"   D = iota // 恢复累加状态   E  )  fmt.Println(A, B, C, D, E) }

由于 C 占用了原本 2 的位置,所以 D 恢复后,也是从 3 开始的。

Go 语言的变量与常量的概念

iota 这种累加的特性,特别像我们在其他语言中使用的枚举,所以在 go 语言中,我们可以直接将 iota 当做枚举来使用。

type ButtonType int const (   Default ButtonType = iota   Primary   Warning   Error )

到此,相信大家对“Go 语言的变量与常量的概念”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Go 语言的变量与常量的概念

本文链接: https://www.lsjlt.com/news/280708.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Go 语言的变量与常量的概念
    本篇内容主要讲解“Go 语言的变量与常量的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go 语言的变量与常量的概念”吧!变量go 语言的变量声明和大多数语言类似,通过 var 关键字声明变...
    99+
    2023-06-15
  • Go语言的变量与常量怎么定义
    这篇文章主要介绍“Go语言的变量与常量怎么定义”,在日常操作中,相信很多人在Go语言的变量与常量怎么定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言的变量与常量怎么定义”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Go语言中的变量和常量
    一、变量相关 1.变量声明 C# : int a; Go : var a int; 需要在前面加一个var关键字,后面定义类型 可以使用 var( a int; b string;)...
    99+
    2022-11-13
  • Go语言变量与常量如何声明与使用
    本文小编为大家详细介绍“Go语言变量与常量如何声明与使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Go语言变量与常量如何声明与使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。变量什么是变量?变量是一块可以...
    99+
    2023-07-05
  • Go语言中的常量和变量的定义
    这篇文章主要介绍“Go语言中的常量和变量的定义”,在日常操作中,相信很多人在Go语言中的常量和变量的定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言中的常量和变量的...
    99+
    2022-10-18
  • 重学Go语言之变量与常量的声明与使用详解
    目录变量变量名声明变量作用域常量iota 常量生成器小结变量 什么是变量?变量是一块可以随时存放数据的内存区域。在我们申请这块内存区域(声明变量)时,需要指定变量名以及变量的数据类型...
    99+
    2023-03-02
    Go语言变量 常量 Go语言变量 Go语言 常量
  • MYSQL中的变量的概念
    本篇内容主要讲解“MYSQL中的变量的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MYSQL中的变量的概念”吧!变量分为用户变量与系统变量。用户变量:&n...
    99+
    2022-10-18
  • C语言零基础精通变量与常量
    目录1.变量和常量的概念2.变量的类型3.变量的分类4.变量的使用5.变量的作用域和生命周期6.常量的分类1.变量和常量的概念 生活中的一些数据有些数据不能变:血型、性别、圆周率。有...
    99+
    2022-11-13
  • 浅谈C语言的变量和常量
    目录变量的分类1.全局变量2.局部变量(补充:只要放在{ }里的都是局部变量)变量的作用域和生命周期作用域生命周期常量总结生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型...
    99+
    2022-11-13
  • go语言的概念是什么
    本文小编为大家详细介绍“go语言的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。go语言是一种计算机编程语言,又称Golang,是Go...
    99+
    2023-07-05
  • Java变量的概念有哪些
    本篇内容主要讲解“Java变量的概念有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java变量的概念有哪些”吧!实例变量实例变量又被称为Instance variables。不使用 sta...
    99+
    2023-06-16
  • Go语言的变量定义详情
    目录一、变量声明变量二、短声明指针三、new函数四、变量的生命期五、变量的作用域一、变量 声明变量 go定义变量的方式和c,c++,java语法不一样,如下: var 变量名 类型,...
    99+
    2022-11-13
  • Go语言GOPATH的概念是什么
    这篇“Go语言GOPATH的概念是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Go语言GOPATH的概念是什么”文章吧...
    99+
    2023-07-05
  • C++变量引用的概念介绍
    本篇介绍的变量引用与之前介绍的指针不是同一概念,它们有本质的区分: 1)不存在空引用。引用必须连接到一块合法的内存。 2)一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可...
    99+
    2022-11-12
  • Java的变量与常量
      目录 变量 声明变量 变量的声明类型 变量的声明方式:变量名 变量名的标识符 初始化变量 常量 关键字final 类常量 总结 变量和常量都是用来存储值和数据的基本数据类型存储方式,但二者之间有一些关键差别。 变量 在Java中,每个变...
    99+
    2023-09-03
    java
  • Flutter入门学习Dart语言变量及基本使用概念
    目录正文变量变量的声明赋值变量的划分默认值变量的类型推断修饰符Late变量类型判断is和类型转换as一些重要概念空安全和可空类型表达式和语句注释DartPad正文 Dart是Goog...
    99+
    2022-11-13
  • Go语言的变量有哪些类型
    这篇文章主要介绍“Go语言的变量有哪些类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Go语言的变量有哪些类型”文章能帮助大家解决问题。变量有三个类型:1、函数内定义的变量称为局部变量,其作用域仅...
    99+
    2023-07-04
  • 浅析C语言初阶的常量和变量
    目录什么是常量和变量常量示例定义变量的方法变量的分类示例变量的使用变量的作用域和生命周期作用域生命周期结语什么是常量和变量 在C程序执行过程中,其值不发生改变的量称为常量,其值可变的...
    99+
    2023-05-19
    C++常量和变量 C++常量 C++变量
  • 【Golang】案例为基浅谈Go的变量与常量
    📓推荐网站(不断完善中):个人博客 📌个人主页:个人主页 👉相关专栏:CSDN专栏、个人专栏 🏝立志赚钱,干活想躺,瞎分享的...
    99+
    2023-08-31
    golang java 算法 后端
  • Go语言函数和指针的概念
    本篇内容主要讲解“Go语言函数和指针的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go语言函数和指针的概念”吧!函数函数就是一段基本的代码块,一般用来对需要重复执行的代码进行复用。在 go...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作