Go语言中的变量和常量(小白专属笔记)

变量

变量的定义

可以使用var来声明变量

有三种定义变量的方法。

第一种,指定变量类型,声明后若不赋值,使用默认值

第二种,根据值自行判定变量类型

第三种,省略var, 注意 :=左侧的变量不应该是已经声明过的(多个变量同时声明时,至少保证一个是新变量),否则会导致编译错误(简短声明) 第三种方法不可以定义全局变量

如代码所示

package main

import "fmt"

func main(){
	//第一种
	var num1 int
	num1 = 30
	fmt.Printf("num1的数值是:%d\n", num1)
	//或者
	var num2 int  = 15;
	fmt.Printf("num2的数值是:%d\n", num2)
	//第二种(类型推断)
	var name = "李狗蛋"
	fmt.Printf("类型是:%T,数值是:%s\n", name, name)
	//第三种(简短定义)
	sum := 100
	fmt.Println(sum)
	//多个变量同时定义
	var a,b,c int
	a=1
	b=2
	c=3
	fmt.Println(a,b,c)

	var m,n int  = 100,200
	fmt.Println(m,n)

    /*两种隐式方法*/
    
    //1.直接用逗号相连
	var n1,f1,s1 = 100,3.14,"Go"
	fmt.Println(n1,f1,s1)
	//2.用括号括起来
	var(
		studentName = "狗蛋"
		age = 18
		sex = "女"
	)
	fmt.Printf("姓名:%s,年龄:%d,性别:%s", studentName, age, sex)
}

变量的初始值

int ———————0

float———————0

string——————""

注意:变量只定义不使用,在go语言中也算错

常量

常量意义

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

常量的声明

和变量一样有显示和隐式声明

//显式类型定义: 
const b string = "abc"
//隐式类型定义:
const b = "abc"
//多重赋值
const a, b, c = 1, false, "str"

常量组中如不指定类型和初始化值,则与上一行非空常量右值相同

func main() {
	const (
		x uint16 = 16
		y
		s = "abc"
		z
	)
	fmt.Printf("%T,%v\n", y, y)
	fmt.Printf("%T,%v\n", z, z)

常量注意点

  • 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型
  • 不曾使用的常量,在编译的时候,是不会报错的
  • 显示指定类型的时候,必须确保常量左右值类型一致,需要时可做显示类型转换。这与变量就不一样了,变量是可以是不同的类型值

枚举类型

常量可作为枚举类型,如代码所示

const(
	SPRING = 0
	SUMMER = 1
	AUTUMN = 2
	WINTET = 3
)

iota

iota定义

第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1

可以用来坐枚举值

const (
    a = iota
    b
    c
)

iota简单用法

如果中断iota自增,则必须显式恢复。且后续自增值按行序递增

例如:

package main

import "fmt"

func main() {
    const (
            a = iota   //0
            b          //1
            c          //2
            d = "ha"   //独立值,iota += 1
            e          //"ha"   iota += 1
            f = 100    //iota +=1
            g          //100  iota +=1
            h = iota   //7,恢复计数
            i          //8
    )
    fmt.Println(a,b,c,d,e,f,g,h,i)
}

运行结果

0 1 2 ha ha 100 100 7 8
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值