[go]学习笔记1
package main import "fmt" //全局变量不使用, 不报错, 局部变量会 var n1 = 1 var n2 = 2 var ( n3 = 3 n4 = "netty" ) var abc uint = 15 // ab := 3 //non-declaration statement outside function body 函数外不允许这种写法, 函数里面可以的 // // /** 基本类型4种: 数值 整数(int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, byte) 浮点数 (float32, float64) 字符型 (没有单独的字符, 用byte保存) 布尔型 (bool) 字符串(string) 派生数据类型/复杂数据类型 指针,数组,结构体,管道,函数,切片, 接口, map **/ func main(){ //4种方法定义 var age int //必须写类型, 初始为0 var tmp int = 3 //初始化为3 var num = 5.5 //可以不写类型, 由右边推算出 sex := "男" //省略var 用:代替 sex = "女" fmt.Println("age = ", age) fmt.Println("tmp = ", tmp) fmt.Println("num = ", num) fmt.Println("sex = ", sex) //批量定义 var a, b, d int fmt.Println(a + b + d) var cc,dd,ee = 4, 3.5, "好的" fmt.Println(cc, dd, ee) //拋异常 panic("ddd") }
var和const :变量和常量的声明
var varName type 或者 varName : = value
package and import: 导入
func: 用于定义函数和方法
return :用于从函数返回
defer someCode :在函数退出之前执行
go : 用于并行
select 用于选择不同类型的通讯
interface 用于定义接口
struct 用于定义抽象数据类型
break、case、continue、for、fallthrough、else、if、switch、goto、default 流程控制
chan用于channel通讯
type用于声明自定义类型
map用于声明map类型数据
range用于读取slice、map、channel数据