Skip to content

20210105var与:=的使用规范原则(1)

ziyouzy edited this page Jan 5, 2021 · 1 revision

这是从type关于类型别名与类型定义所梳理出来的命名规范原则,二次派生出来的var命名规范

type是用来定义一个自定义数据类型

var是用来声明+定义+赋值一个变量(整体流程可称之为实例化),最终会拿到某种数据类型的实例

首先变量分为:

1.私有变量(方法、函数、结构类等的外层定义,小写)
2.公有变量(方法、函数、结构类等的外层定义,大写)
3.私有字段(结构类内部的field,小写)
4.公有字段(结构类内部的field,大写)
5.临时变量(方法、函数、结构类等的内部定义,小写)

对于3,4来说没有探讨的必要,使用方式都是唯一的直接“=”

对于1和2,首先来说他们都可以var来实例化,和篇文章探讨的本质是如何实例化类型,从而得到一个变量

1和2都是在函数外作用于定义的如:

package main

var (
    i int //私有变量/实例/对象
   J int //公有变量/实例/对象
   S string //公有变量/实例/对象
)

var aa,bb,cc string ="aa","bb","cc"

在函数外的定义规则其实比之前想象的简单,只有两件事不能做:

1.虽然var aa int和var aa int=123都是允许的,但是不能在var aa int;aa=3,也就是说不能在函数体外进行纯粹的赋值操作
而在函数体内,即使是var aa,bb,cc string; aa,bb,cc="aa","bb","cc"也是可行的

2.函数体外不能进行:=的操作,这没什么可说的
Clone this wiki locally