Go+变量和常量

举报
XiaoLin_Java 发表于 2022/03/27 20:57:25 2022/03/27
【摘要】 常量 概述常量是一个简单值的标识符,在程序运行时,不会被修改也不可以被修改的量。常量的定义格式:const 常量名 [类型] = 常量值你可以省略类型说明符 [类型],因为Go+可以根据变量的值来推断其类型。比如:显式常量定义: const a string = "HelloWorld"隐式常量定义: const a = "HelloWorld"多个相同类型的变量可以简写:const na...

常量

概述

常量是一个简单值的标识符,在程序运行时,不会被修改也不可以被修改的量。常量的定义格式:

const 常量名 [类型] = 常量值

你可以省略类型说明符 [类型],因为Go+可以根据变量的值来推断其类型。比如:

  • 显式常量定义: const a string = "HelloWorld"
  • 隐式常量定义: const a = "HelloWorld"

多个相同类型的变量可以简写:

const name1, name2 = value1, value2

实例代码:

const WIDTH int = 5
const name1, name2 = "Hello", "World"

println(WIDTH)
println(name1)
println(name2)

image-20211201114810082

注意

常量是不可以修改和二次赋值的,不然会报错。

image-20211201133957111

变量

变量声明

Go+语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。声明变量的语法:

var 变量名 类型
var a string
a = "hello"
println(a)

同时可以一次声明多个变量。

var 变量名1, 变量名2... type
var name,name2 string

如果不对变量进行初始化的话就必须定义类型。如果对变量进行了初始化,那么GO+会根据值的类型自动判断变量类型。

变量初始化

一般写法

对单个变量进行初始化。

var name = "admin"
println(name)

如果变量没有初始化的话就必须指定类型,这个时候变量的值是默认值。

var num int
println(num) // 0

布尔类型的默认值为false。

var flag bool
println(flag) // false

string默认为空串。

var name string
println(name)

总结来说:

  • 数值类型(包括complex64/128)为 0
  • 布尔类型为 false
  • 字符串为 “”(空字符串)

简易写法

我们知道可以在变量的初始化时省略变量的类型而由系统自动推断,声明语句写上 var 关键字其实是显得有些多余了,而且很容易和js的变量声明产生混淆,也是GO+有简单的写法::= 赋值操作符,例如:

name := "admin"
println(name) //admin

但是如果变量已经使用var声明过了,再使用:= 声明变量,就会报编译错误。

var num int
num := 1 // # command-line-arguments Variables\Variables.gop:3: num declared but not used**intVal := 1** 

num := 1等价于两步:

  1. var num int
  2. num = 1
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。