分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
一、if语句
if 语句没有圆括号,而必需要有花括号跟条件和 else在同一行
例:
if myVar > 1 {
myVar = 1
myVar1++
return
} else {
myVar = 3
myVar1--
return
}
if的条件中可以添加一句初始化语句,用";" 分隔
if c:=1;myVar > 1 {
myVar = 1
}
此变量c的作用域是在后面的{}内的。外面是不可见,同时如果不在后面使用也是会编译错误的。 [it招聘][1]
二、switch语句
跟一般语言不一样 case 匹配后,不会再往后匹配,如果要向后匹配,添加语句fallthrough
c := 5
switch 5 {
case 3:
fmt.Println("The integer was <= 4")
fallthrough
case 4:
fmt.Println("The integer was <= 5")
fallthrough
case 5:
fmt.Println("The integer was <= 6")
fallthrough
case 6:
fmt.Println("The integer was <= 7")
case 7:
fmt.Println("The integer was <= 8")
fallthrough
default:
fmt.Println("default case")
}
输出
The integer was <= 6
The integer was <= 7
这里注意case 后面的条件必须是相同类型,case后面可以是条件语句
swith 后面也可以为空。这样的话 自动匹配true case语句后面的条件语句必须返回true或者false(其实相当于多个ifelse); case 后面 也可以是 case 4,5,6: 表是4、5、6都匹配
三、for循环(go没有while)
for i := 0; i<10; i++{
fmt.Println(i)
}
可以break,推出当前层循环
i := 1
for i<10 {
fmt.Println(i)
if i > 9 {
break
}
i++
}
i :=1
for {
if i>10 {
break
}
i++
}
四、函数
函数定义:
func f(var1 int, var2 int) (a int, err error) {
a = var1 + var2
return
}
如果参数类型相同 上面的可以是这样:
func f(var1, var2 int) (a int, err error) {
a = var1 + var2
return
}
对返回值同样适用,如果有多个返回值:
func f(var1, var2 int) (a,b int, err error) {
a = var1 + var2
b = var1 - var2
return
}
调用方式
c1,c2,err = f(8,3)
另外闭包和不定参数 属于技巧性的东西这里就先不介绍了。
下一个直接进入面向对象方面的东西。
[1]: http://www.headin.cn/Jobs
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信4867 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传