欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

读书笔记之变量

程序员文章站 2022-04-06 15:07:55
...

声明变量

只记:

  1. var 到处行
  2. 数据类型 || 初始化
  3. := 只能在函数内
  4. 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")