GO语言的变量和常量

本文详细介绍了Go语言的基础知识,包括变量的声明与赋值(标准格式、类型推断、简短声明、多变量声明)、常量的定义(显示类型与隐式类型、多常量声明及iota枚举特性)、匿名变量的使用以及作用域的概念(局部作用域与全局作用域)。内容深入浅出,适合Go语言初学者了解和掌握基础语法。
摘要由CSDN通过智能技术生成

目录

前言

变量定义

常量定义

特殊常量iota

匿名变量

作用域


前言

go语言是静态语言,是强类型语言。赋值前要声明变量的类型,且赋值要和类型一致。

静态语言:go、java、c++、c#

动态语言:弱类型语言。定义的时候不知道是什么类型,赋值为什么类型就是什么类型。

动态语言:javascript、php、python、ruby

变量定义

go语言的局部变量定义了就要使用,不然会语法报错。而全局变量定义了没有使用不会报错。

1.标准格式

定义变量,然后进行赋值

var name type
name = value

var name type = value

2.类型推断

判断变量类型,缺省数据类型

var name = value

3.简短声明

简短定义,也叫简短声明

name := value
name, num := "value", 0

注意:

1.简短声明只能定义在函数体内,不可以定义为全局变量。

2.已经声明过的变量不能使用:=进行赋值。

4.多变量声明

//同一类型多变量声明
var a, b int
a = 1
b = 2

//定义集合。(不同类型多变量声明)
var (
    name = "xiaoming"
    age = 18
    sex = 0
)

常量定义

常量定义后不使用是不会报错的。

常量的变量名需要全部大写。

哪些值适合定义为常量?如:圆周率、百度网址

常量是一个简单值的标识符,在运行时不会被修改。

const identifier [type] = value

显示类型定义:const A string = "abc"

隐式类型定义:const A = "abc"

多常量声明

多常量声明时,如果某个常量未赋值,则默认与上一个常量的值一致。

const (
    PI = 3.14
    PI2
    A1 = 111
)

特殊常量iota

itoa可视为枚举类型。

itoa从0开始,每次赋值会自增1,直到下一个const清零。

const (
    A = iota
    B = iota
    C = iota
    D = iota
)

可简写为

const (
    A = iota
    B
    C
    D
)

const (
    A = 0
    B = 1
    C = 2
    D = 3
)

如果const定义特殊常量中有其他常量赋值,跳过时iota也会自增1

const (
    A = iota    //0
    B = iota    //1
    C = "CCC"    //CCC
    D = iota    //3
)

匿名变量

go语言中为了杜绝变量的滥用,未被使用的变量会报错。实际编码过程中,当函数返回值有多个,接受后可能不会每个变量都会用到。

此时可以用匿名变量"_"来接收返回值。相当于直接忽略此返回值。

resp, _ := response("xxx")

作用域

作用域表示可访问变量的范围。go语言有两种作用域:

1.局部作用域

        定义在局部作用域的变量叫局部变量,局部变量出了局部作用域则会被销毁。

        函数内部可以用{ }来定义一个更小的局部作用域。

2.全局作用域

        函数外部定义的变量叫全局变量。全局变量的声明周期与程序进程相同,程序结束才会被销毁。

var Name string = "daming" //其他文件可以访问
var name = "xiaoming"    //其他文件不可以访问

func main() {
...
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值