读书笔记之变量
程序员文章站
2022-04-06 15:07:55
...
声明变量
只记:
-
var
到处行 - 数据类型
||
初始化 -
:=
只能在函数内 - Go中数据类型在变量名的后面
package main //程序入口包
import (
"fmt"
"net"
)
/**
变量
*/
/*
一、声明变量
未初始化会有默认值
*/
// 1.标准格式: var 变量名 变量类型
var x int
// 2.批量格式: (注意:var(...)是小括号!!!)
var (
a int //默认:0 整数类型
b string //默认:空 字符串类型
c []float32 //默认:[] 32位浮点切片类型
d func() bool //默认:nil 将函数以变量的形式保存(返回值为布尔类型的函数) 一般用于回调函数
e struct{ //默认:{0} 结构体变量(类似Java中自定义的对象)
x int
}
)
/*
二、声明初始化变量
*/
// 1.标准格式: var 变量名 类型 = 表达式
var hp int = 100
// 2.由于编译器可以根据赋值推导出变量类型 所以: var 变量名 = 表达式
// 注意:变量会推导为默认类型 若为非默认类型则需要声明
// 如:var x = 0.17 为了保证精确度编译器会推导为float64
// 若只想要float32则需要声明: var x float32 = 0.17
var attack = 40
// 程序的入口函数(整个项目最多有一个 用go写插件时可以没有)
func main(){
// 3.短变量声明初始化: 变量名 := 表达式
// 注意:只能在函数中声明 且函数中声明的变量必须被使用到!!!
age := 10
conn,err := net.Dial("tcp","127.0.0.1:8080")
fmt.Println(age)
fmt.Printf("conn=%v;err=%v",conn,err)
}
多重赋值
不用有中间值了!!!
a := 100
b := 200
a,b = b,a
匿名变量 _
匿名变量不会被分配内存
获取不需要的返回值:
只想要err,不想用conn
_,err := net.Dial("tcp","127.0.0.1:8080")