Go语言学习第一课---变量与常量

42 篇文章 1 订阅
15 篇文章 4 订阅

Go语言学习

一、定义变量

  1. 赋值前需要先定义变量
  2. 定义变量有两种方式,自动推导类型与使用 var声明类型
  3. 同一个变量名自动推导只能使用一次,用于初始化变量,赋值可以使用n次
package main

import "fmt"

func main() {
	// 第一种定义变量的方式
	var a int = 10
	a = 20
	// 第二种定义变量的方式,先声明\b的类型,再给\b赋值为20
	b := 20
	fmt.Println("a = ", a)
	fmt.Printf("b type is %T", b)

}

1.1、定义多个变量

package main

import "fmt"

func main() {
	// 使用括号同时定义两个变量
	var (
		a int
		b float64
	)
	a, b = 1, 1.2
	fmt.Printf("a = %d,b = %f", a, b)
}

二、Println与Printf的区别

println

  1. 一段一段处理,自动加换行
  2. 比如输出("a = ",a),先输出a = ,然后输出a的值

printf

  1. 格式化输出,使用%d,%s
  2. \n代表换行符,不能自动换行
  3. 多个变量方便些

三、匿名变量的使用

匿名变量配合返回值来用,如果不想要某一个变量配合匿名变量来使用

package main

import "fmt"

// 测试函数
func test() (c, d, e int) {
	return 1, 2, 3
}

func main() {
	a, b := 10, 20
	var tmp int
	fmt.Printf("a = %d, b = %d\n", a, b)
	// 变量反转赋值
	a, b = b, a
	fmt.Printf("a = %d, b = %d\n", a, b)
	// 匿名变量,丢弃数据包不处理,匿名变量配合函数返回值使用,才有优势(当一个函数有多个返回值时,只想要部分内容)
	tmp, _ = a, b
	fmt.Println("tmp = ", tmp)

	// 测试匿名变量实验
	var f, g, h int
	_, g, h = test() //不想要f的值了,此时f为0
	fmt.Printf("f:%d,g:%d,h:%d", f, g, h)
}

四、常量

变量时程序运行期间可以改变的量,常量则不能改变,常量声明需要const关键字

五、iota枚举

package main

import (
	"fmt"
)

func main() {
	// iota时常量自动生成器,每个一行,自动加一
	// iota 给常量赋值使用
	const (
		a = iota //0
		b = iota //1
		c = iota //2
	)
	fmt.Printf("a = %d,b = %d , c = %d", a, b, c)
	// 重新使用const时,iota会被初始化为0
	const d int = iota //0
	fmt.Printf("d = %d", d)
	// 也可以只写一个iota
	const (
		a1 = iota
		a2
		a3
	)
	fmt.Printf("a1 = %d,a2 = %d , a3 = %d", a1, a2, a3)
	// 同一行,值都一样
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈小c

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值