在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
基本法则: 1)在最外部声明的函数、类型、变量都要从其关键字开始。如func、type、var... 2)任何代码都要以包为单位封装和被调用。 3)大括号的前括号要在行末,后括号要另起一行行首。 4)函数内声明的临时变量必须要使用。如要放弃接收变量可使用_符号接收值表示忽略。 5)最外部声明的函数、类型、变量如果是首字母大写,表示公开,可被其他包使用。小写表示不公开。
一 包 1)包名顶行写: package 包名 2)导入用import关键字,多个包可以使用符号()进行组合 import "包路径" 3)包名为包路径最后一段名字
一 变量 1)标准格式: var 变量名 类型 2)声明时直接赋值可以省略类型,由其自动推导 3)声明时直接赋值可以省略var,使用:=符号简写。该语法仅能在函数内使用。因为与更高级别的法则冲突:在最外部声明的函数、类型、变量都要从其关键字开始。
二 函数 1)标准格式: func 函数名(参数1 参数1类型, 参数2 参数2类型) (返回值 返回值类型) { } 2)与声明变量相似的,参数、返回值的类型也要放在名称之后。这样做的理由是更易读,比如当复杂函数做参数传递时。 3)函数返回值可以多个。也可以给返回值变量命名。
三 结构 1)标准格式: type 结构名 struct{ 成员变量名 类型, .... } 2)结构的创建:省略成员名可以按顺序初始化;不省略名称则不需要顺序。 3)type可以用来给别的类型起别名。当然之后需要显式转型。 4)通过.操作符获取结构内的成员。
四 指针 1)go有指针类型,用*表示,*出现在类型前方。 2)go没有指针运算 3)获取变量的引用通过取地址符&获取。同理可以在类型创建的时候直接&获取其引用。 4)引用变量的值要通过 *变量名 获取,*出现在变量名前方。 5)如果是指针类型的结构,可以通过.操作符直接调用类型成员。(*p).Name和p.Name的效果相同。
五 方法 1)go没有类,但可以用类型作为函数的接收器实现结构的方法。本质上就是函数的第一个参数为该类型。 2)不能给除自身包之外的类型添加方法。 3)方法的语法结构: func (接收器变量 接收器类型) 函数名(参数)返回值{ } 4)使用方法,就是在类型变量后面使用.操作符。 5)接收器可以是指针类型。因为go语言的传参本质就是拷贝,所以传递指针类型变量可以用于修改值。效果等同函数。 6)当使用指针类型接收器的时候,使用方法也可以直接通过.操作符。(*p).Add()和p.Add()的效果相同。 7)当接收器不是指针类型的时候,引用类型的变量也可以使用.操作符直接调用方法。但是要注意的是go的传参始终都是值拷贝。 8)上述特性与函数参数不同,函数参数类型必须与声明的参数类型一致,不然无法通过编译。
六 接口
|
请发表评论