1、函数内部声明/定义的变量叫局部变量,作用域仅限于函数内部。
func login(userId int, userPwd string) (err error) {
var mes message.Message
mes.Type = message.LoginMesType
//3. 创建一个LoginMes 结构体
var loginMes message.LoginMes
loginMes.UserId = userId
loginMes.UserPwd = userPwd
}
2、函数外部声明/定义的变量叫全局变量,作用域在整个包都有效,如果其首字母为大写,则作用域在整个程序有效。
var onlineUsers map[int]*message.User = make(map[int]*message.User, 10)
var CurUser model.CurUser //我们在用户登录成功后,完成对CurUser初始化
3、如果变量是在一个代码块,比如 for / if中,那么这个变量的的作用域就在该代码块