Go语言中变量的声明和JavaScript很像,使用var关键字,变量的声明、定义有好几种形式
1. 变量和常量
Go 语言中 = 和 := 有什么区别?
= 是赋值, := 是声明变量并赋值
Go语言的编译器,对声明却未使用的变量在报错,因此变量声明了就必须使用,如果要使用变量也必须先声明
Go语言和C语言一样,Go语言中也是使用分号来终结语句。但是和C语言不同的是,Go语言的词法分析器在扫描源代码的过程中使用简单的规则自动插入分号,因此在编写源代码的多数时候就不需要加分号了
Go语言词法分析器插入分号的规则:如果在一个新行前方的最后一个标记是一个标识符(包括像int和float64这样的单词)、一个基本的如数值这样的文字、或以下标记中的一个时,会自动插入分号
Go语言通常仅在for语句中使用分号,以此来分开初始化器、添加和增量。还有一种情况就是当你在一行中写了多个语句,也需要使用分号来分开
由于Go语言词法分析器添加分号的特殊性,所以在有些情况下需要注意:
你都不应该将一个控制结构(if、for、switch或select)的左大括号放在下一行。
如果这样做,将会在大括号的前方插入一个分号,这可能导致出现不想要的结果。
常量:在程序不能被改变的值,一般都定义为数值,布尔值,字符串等
const constName [type] = val
var num = 3 // 实际上 3 也称为常量
2). 格式中 val 可以是表达式,但不能为运行时才能知道结果的表达式
3). 预定义常量: true / false / iota
4). 定义多个常量时,也可用下面方式
示例代码:
2. 函数使用
1)Go语言函数格式
解释说明:
func 说明这是个函数
GetMsg是函数名
(i int) 函数接收一个int参数,是传入参数
(str string) 函数返回一个string类型返回值,是返回参数
2)Go语言函数可返回多个值
函数返回多个值,跟Java、PHP、C等主流语言都不一样,但和Python、lua等脚本语言是一样的
编译执行:
3)defer的使用
defer的意思是"在函数退出时调用",特别用于对文件进行读写操作的时候,需要在open之后要调用close操作,将close操作使用defer
上述代码含义是在file.Open后不立即调用close,当return false的时候调用file.Close(),这样就有效避免了C语言中的内存泄露问题。
4)理解 panic,recover
上面讲述了很多变量和函数,还没介绍 throw - try - catch 的用法
Go语言里,Panic和Recover就是其他语言中的throw和catch
示例代码:
运行结果:
Panic抛出了信息,并且跳出函数。Recover接受到了信息,并且继续处理。
这个例子理解了基本就掌握了Recover和Panic
总结
以上所述是小编给大家介绍的Go语言的变量、函数、Socks5代理服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://blog.csdn.net/ithomer/article/details/78121431