首页 > 编程语言 > 详细

go语言之goto语句和函数和defer语句

时间:2019-05-12 23:29:01      阅读:143      评论:0      收藏:0      [点我收藏+]

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()
}

  

 

go语言之goto语句和函数和defer语句

原文:https://www.cnblogs.com/bainianminguo/p/10854096.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!