golang 语法的一些特殊用法,下划线等

下划线的用法

import 包 包引用的时候,包下的init()执行,方法可以被引用,有时候我们只需要执行包下的init方法,并不需要引用的时候,就用下划线。

_"testbeego1/routers" //_ 表示运行init


代码中使用下划线,下划线意思是忽略这个变量.比如os.Open,返回值为*os.File,error

普通写法是f,err := os.Open(xxxxxxx)
如果此时不需要知道返回的错误值   就可以用

f, _ := os.Open(xxxxxx)    //如此则忽略了error变量

集合语法的使用

集合,append的用法有两种:

slice = append(slice, elem1, elem2)

slice = append(slice, anotherSlice...)

defer[延迟函数]

语法:defer function_name()

1)defer在声明时不会执行,而是推迟执行,在return执行前,倒序执行defer[先进后出],一般用于释放资源,清理数据,记录日志,异常处理等。

2)defer有一个特性:即使函数抛出异常,defer仍会被执行,这样不会出现程序错误导致资源不被释放,或者因为第三方包的异常导致程序崩溃。

3)一般用于打开文件后释放资源的操作,比如打开一个文件,最后总是要关闭的。而在打开和关闭之间,会有诸多的处理,可能会有诸多的if-else、根据不同的情况需要提前返回

make(map[string]interface{})

神奇的空接口,空interface(interface{})不包含任何的method,因此所有的类型都实现了空interface。空interface在我们需要存储任意类型的数值的时候相当有用,有点类似于C语言的void*类型。


range使用
http://www.runoob.com/go/go-range.html

map使用
https://www.jianshu.com/p/664163be0b54

面向对象的语法基础
https://blog.csdn.net/m0_37554486/article/details/77404739

你可能感兴趣的:(golang 语法的一些特殊用法,下划线等)