fmt包
fmt包主要用于打印数据,常用的有Printf、Print、Printf
// 文件所属包
package main
// 导入fmt包,主要用于打印数据
import "fmt"
func main() {
fmt.Println("golang1","golang2")
fmt.Print("golang1","golang2")
fmt.Printf("golang")
}
-
Print和Println
区别- 一次输出多个值的时候,Println有空格,Print没有
- Println输出完会自动换行,Print不会自动换行
-
Printf的区别
-
Printf可以格式化输出
-
// 定义一个变量 var a = "golang" // 格式化输出,%v代表用默认格式输出 fmt.Printf("%v",a) // 占位符参考文档 http://docscn.studygolang.com/pkg/fmt/
-
变量声明
在Go语言中,定义变量之后,必须要使用,且同一作用于内不可以重复声明同一个变量
var声明变量
// var 变量名 类型 = 表达式,显示的声明变量的类型
var a int = 1
// 不声明类型 var 变量名 = 表达式,编译器会根据右侧的类型来推断变量的类型
var a =1
// 初始值为空,后续赋值
var a
a = 1
// 一次声明多个类型一致的变量 : var 变量名称,变量名称,类型
var a1,a2 string
// 一次声明多个类型不一致的变量 : var (变量名称, 类型...)
var (
a int
b string
)
短变量
在函数内部,可以使用简略的:=方式声明并初始化变量
短变量只能用于声明局部变量,不能用于全局变量的声明
// 变量名 := 表达式 根据表达式的类型推断变量n的类型
n:=10
// 短变量一次声明多个变量
a,b,c := 1,2,"3"
这两种形式的区别在于声明方式的简洁性和是否显式指定变量类型,n := 10
是一种简短的方式,用于在函数内部快速声明和初始化变量。var n = 10
是一种显式声明的方式,用于在任何作用域内声明和初始化变量
匿名变量
-
使用多重赋值的时候,如果想要忽略某个值,可以使用匿名变量
-
匿名变量用一个下划线来表示
-
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明
// 定义一个方法,返回两个值
func getUserInfo() (string, int) {
return "user", 18
}
func main() {
// 使用两个变量接受对应的两个返回值
var name, age = getUserInfo()
fmt.Println(name)
fmt.Println(age)
// 如果只想获取第一个值,不使用第二个值,使用_匿名变量来接受
var name, _ = getUserInfo()
}
常量
声明常量
Go中使用const声明常量,常量在定义的时候必须赋值,且常量的值后续运行期间无法改变
// 声明一个常量
const Number int = 10
const Name = "木子"
// 声明多个常量, 声明多个常量,如果后面的常量没有赋值,则和前面有值的常量的值相同
// C 和D的值都是8
const (
A string = "3"
B int = 8
C
D
)
const常量结合iota的使用
-
iota是golang的常量计数器,只能在常量的表达式中使用
-
iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使用iota计数一次,iota可以理解为const语句块中的行索引
-
每次const出现时,iota初始值都会自增长
const (
A = iota // 0
B // 1
_ // 匿名变量
D // 4
)
const (
A = iota // 0
B = 100 // 100
C = iota // 2
D //3
)
标签:const,常量,fmt,var,声明,变量
From: https://www.cnblogs.com/Mickey-7/p/18019692