1、goto关键字
import "fmt"
func main() {
for i := 0;i <11;i++{
if i == 2{
//关键字,goto跳转到某个位置,且只能在当前函数内跳转
goto LABELT
}else {
fmt.Println(i)
}
}
LABELT:
fmt.Println("程序结束")
}
2、函数
package main
import "fmt"
//无参数,无返回值的函数
func test01(){
fmt.Println("aaaa")
}
//有参数无返回值的函数
func test02(v1,int,v2 int) {
fmt.Println(v1,v2)
}
func test03(v3,v4 int){
fmt.Println(v3,v4)
}
//不定参数,无返回值的函数,不定参数要放在最后
func test04(args ...int) {
for _,i := range args {
fmt.Println(i)
}
}
//返回值,第一个是a,类型为int,第二个为s,类型为string
func test05() (a int,s string) {
a = 666
s = "123"
return
}
//有参数,有返回值的函数
func test06(num1 int,num2 string) (a int,s string) {
a = num1 + 100
s = num2 + "123"
return
}
func main() {
test04(1,2,3)
v1,v2 := test05()
fmt.Println(v1,v2)
v3,v4 := test06(1,"abc")
fmt.Println(v3,v4)
}
3、defer语句
package main
import "fmt"
func test001() {
//如果有多个defer语句,则先是倒序执行,比如下面的例子,限制性3,在执行2,最后执行1
defer fmt.Println("1")
defer fmt.Println("2")
defer fmt.Println("3")
fmt.Println("干事情")
}
func test_temp(x int) {
fmt.Println(100 / x)
}
func test002() {
//如果有多个defer语句,则先是倒序执行,比如下面的例子,限制性3,在执行2,最后执行1
defer fmt.Println("1")
defer fmt.Println("2")
test_temp(0)
defer fmt.Println("3")
fmt.Println("干事情!!!")
}
func main() {
//defer 这个关键字,无论他写在哪里,都是最后执行,主要用来关资源,释放连接之类的操作
//比如下面的例子,就是限制打酱油,在执行defer语句
defer fmt.Println("defer语句")
fmt.Println("打酱油")
//test001()
test002()
}
原文:https://www.cnblogs.com/bainianminguo/p/10854096.html