服装公司网站模板,wordpress和t,手机app开发编程自学,niche网站建设Go程序结构
1、名称
名称的开头是一个字母或下划线#xff0c;且区分大小写。 实体第一个字母的大小写决定其可见性是否跨包#xff1a; 若名称以大写字母开头#xff0c;它是导出的#xff0c;对包外是可见和可访问的#xff0c;可以被自己包以外的其他程序所引用…Go程序结构
1、名称
名称的开头是一个字母或下划线且区分大小写。 实体第一个字母的大小写决定其可见性是否跨包 若名称以大写字母开头它是导出的对包外是可见和可访问的可以被自己包以外的其他程序所引用比如fmt包中的Printf。 包名本身总是由小写字母组成的。 一般使用驼峰式命名 像ASCII和HTML这样的首字母缩写词通常使用相同的大小写如html而不是Html 2、声明
声明是给一个程序实体命名并且设定其部分或者全部属性。 有四个主要的声明 变量var、常量const、类型type、函数func go程序存储在一个或多个以.go为后缀的文件里 每一个文件以package声明开头表明文件属于哪个包接着是import声明 3、变量
var声明创建一个具体类型的变量给它一个附加的名字设置它的初始值。
var name type expression
//类型和表达式部分可以省略一个但不能都省略
var s string //
var b true //boolGo中所有变量都是初始化的若未设置初始值则为零值
类型默认零值数字int、float0布尔型 boolfalse接口和引用类型slice、指针、map、通道、函数nil复合类型数组或者结构体零值是所有元素的零值
3.1、短变量声明
短变量声明可以用来声明和初始化局部变量。
name : expression
//name的类型由expression决定
i : 100 //一个int类型的变量
// : 表示声明 表示赋值 var声明通常是为那些跟初始化表达式类型不一致的局部变量保留的或者用于后面才对变量赋值以及变量初始值不重要的情况。
短变量声明不需要声明所有在左边的变量
3.2、指针
变量是存储值的地方
指针的值是一个变量的地址不是所有的值都有地址但是所有的变量都有。
使用指针可以在无须知道变量名字的情况下间接读取或更新变量的值。
x : 1
p : x // p是整型指针指向x
fmt.Println(*p) // 1 *p获取变量的值
*p 2 //p指向的变量写成*p, *p代表一个变量, 本式等于 x 2
fmt.Println(x)3.3、new函数
另一种创建变量的方式是使用内置的new函数表达式newT创建一个未命名的t类型变量初始化为T类型的零值并返回其地址*T
p : new(int) // *int类型的p指向未命名的int变量new函数返回 *int
fmt.Println(*p) //输出“0”
*p 2 note: 使用new创建的变量和取其地址的普通局部变量没有什么不同只是不需要引入一个虚拟的名字。通过new(T)就可以直接在表达式中使用故只是语法上的便利。
new是一个预声明的函数不是一个关键字使用的相对较少。
4.赋值
赋值语句用来更新变量所指的值赋值符号 “” 。
多重赋值允许几个变量一次性被赋值在实际更新变量前右边所有的表达式被推演
5、类型声明
变量或表达式的类型定义这些值应有的特性例如大小、在内部如何表达、可以对其进行何种操作以及它们所关联的方法
type声明定义一个新的命名类型它和某个已有类型使用同样的底层类型。
type name underlying-type
type Celsiue float64 //定义类型Celsiuenote对于每个类型T都有一个对应的类型转换操作T(x)将值x转换为类型T。如果两个类型具有相同的底层类型或者二者都是指向相同底层类型变量的未命名指针类型则二者是可以相互转换的。
6、包初始化
func init() {/*...*/}在每一个文件里当程序启动时init函数按照它们声明的顺序自动执行init函数不能被调用和被引用