Golang中的变量与常量(二)

介绍

当一个计算机程序需要调用内存空间时,对内存发出的“占位”指令被称为“声明”
对于不同类型的数据结构,我们通常使用不同的关键字进行声明。比如:在声明常量时使用const,在声明变量时使用var

变量

在计算机内存中,变量(Variable)用于存储可变化的数据,并给出名称。变量的声明格式如下:

var name [type] = [expression]

  • 关键字var用于声明变量定义
  • name是指变量名
  • type用于指定变量类型
  • expression是指表达式
  • type可以被省略,expression也可以被省略。但是二者不能同时被省略

Go语言中变量可以在三个地方声明:

  1. 函数内定义的变量为局部变量
  2. 函数外定义的变量为全局变量(全局变量必须以var关键字开头,如果想要在外部包中使用全局变量,则其首字母必须大写)
  3. 函数定义中的变量称为形式参数
package main

import (
	"fmt"
)

//批量声明变量,这样可以少写几个var
//这里定义的变量为全局变量。首字母大写可以在其他包中引用此变量
var (
	D3 = 300
	D4 = 900
	Name2 = "mary"
)

func main() {
	//当一个变量被声明后,Go语言会自动赋予它一个初始值
	//整型为:0
	//浮点型为:0.0
	//布尔型为:false
	//字符串为空串:""
	//指针为:nil

	//变量的第1种使用方式:直接定义
	var i int
	fmt.Println(i)

	//变量的第2种使用方式:类型推导,就是省略变量类型
	var j = "hello"
	fmt.Println(j)

	//变量的第3种使用方式:类型推导,同时省略变量类型和var关键字
	//注意:冒号不能丢,后边必须赋值。该方式仅限在一个函数体内使用
	k := 3
	fmt.Println(k)

	//一次声明多个变量
	var n1, n2, n3 int
	var b1, name ,b3 = 100, "tom", 88
	c1, c2, c3 := 100, "tom", 99
	fmt.Println(n1, n2, n3, b1, name, b3, c1, c2, c3)

	fmt.Println(D3, D4, Name2)

}

常量

在计算机内存中,常量(Constants)用于存储固定不变的数据,并给出名称,常量的声明格式如下:

const name [type] = value

  • 关键字const用于声明常量的定义
  • name表示常量名
  • 方括号表示type部分可选,代表常量的类型,常量的类型只能是基本数据类型,即布尔型、数值型(整型、浮点型和复数型)和字符串型。当程序员没有指定该部分时,常量的类型将根据最后的value(值)自动推导得出;当程序员显式指定type时,常量将被限定为特定的数据类型
  • =为赋值符号,用于将value值赋值给常量name。一旦赋值完成,名称为name的常量就有了值,且不会改变
    示例一:单一常量的声明及使用
package main

import (
	"fmt"
)

//单一常量声明及使用
func main() {
    const age = 1      //声明值为1的整型常量age
    const num int = 10 //声明值为10的整型常量num,int为指定的类型
    fmt.Printf("age = %v\nnum = %v", age, num)  //打印输出常量,通过逗号分隔可以输出多个常量
}

示例二:批量常量声明及使用

package main

import (
	"fmt"
)

//批量常量声明及使用
func main() {
    const (
        age     = 1
        num int = 10
    )
    fmt.Printf("age = %v\nnum = %v", age, num)
}

示例三:常量生成器iota
使用关键字iota可以为批量常量进行连续增1赋值,iota初始值为0

package main

import (
	"fmt"
)

//批量常量声明及使用
func main() {
    const (
        spring = iota
        summer
        autumn
        winter
    )
    fmt.Println("一年四季:", spring, summer, autumn, winter)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值