美文网首页
Go语言-函数

Go语言-函数

作者: 宋song一 | 来源:发表于2018-11-18 23:56 被阅读5次

一.函数的定义

  • 1 表达式作为返回值
func minus(a int,b int) int{
    return  a-b
}
  • 2 定义变量接收返回值
func minus(a int,b int) int{
    result:=a-b
    return  result
}
  • 3 在函数定义时定义接收变量
func minus(a int,b int) (result int){
    result=a-b
    return
}
  • 4.不定参函数...
func minus(args ...int){
//1.
    //for i := 0; i < len(args); i++ {
       // fmt.Println("下标",i,"值",args[i])
    result:=0
        for i := 0; i < len(args); i++ {
            result+=args[i]
    }
//第2种for循环
      for _,data:=range args{
        result+=data
    }
    fmt.Println(result)
}
func main() {
    minus(1,2,3)
    minus(1)
}

不定参函数传递它的不定参给函数时,传递方式为a[0:]...(传递所有参数),a[:3]...(从0开始传递到第3位(不含第3位))

二.函数的类型

  • 1 无参有返回值.
func minus()(a,b,c int){
    a,b,c=1,2,3
    return
}
func main() {
//函数的返回值可以为主调函数赋值,可以通过返回值改变实参数据
a,b,c:=minus()
fmt.Println(a,b,c)
}
  • 2 type自定义函数类型
package main

import "fmt"

func test1(){
    fmt.Println("hello")
}
func test2(a int, b int)  {
    fmt.Println(a+b)
}
func test3(){
    fmt.Println("你好")
}
//type定义函数类型
type NULL func()
type YOU func(int,int)
func main() {
    //定义函数类型变量
    var f NULL
     f= test1
     //通过函数变量调用函数
     f()
     var f1 YOU
     f1=test2
     f1(10,20)
     //相同类型函数,无需再次定义函数类型
     f2:=test3
     f2()
}
  1. defer函数属延迟执行,延迟到调用者函数执行 return 命令前被执行。多个defer之间按LIFO先进后出顺序执行。通常用于释放资源
  2. Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。
  3. 如果同时有多defer,那么异常会被最近的recover()捕获并正常处理。
    4.无参匿名函数可以简写,如
    {fmt.Println("hello")}

相关文章

  • (四)go语言函数&参数传递

    go语言函数 基本语法 例子 go语言参数传递

  • 三、Go的函数

    三、Go的函数 Go语言最少有一个main()函数。 1、Go的函数定义: 2、函数参数 函数如果使用参数,该变量...

  • Go语言中的函数 为什么是一等公民

    关键点 Go语言中,支持: 普通函数 匿名函数 闭包 在Go语言中,函数属于一等公民(first-class)? ...

  • 09-Go语言函数

    函数 Go语言函数格式func 函数名称(形参列表)(返回值列表){函数语句} Go语言函数的类型没有返回值没有形...

  • Golang的Init函数和Main函数

    Init函数和main函数 go语言中的init函数用于包package初始化。该函数时go语言的一个重要特性in...

  • cgo

    cgo cgo是用来在Go语言中调用C语言的工具 Go语言调用C语言 简单C语言函数 在Go语言中需要通过impo...

  • 04-枚举常量

    Go语言枚举 c语言中的枚举 Go语言枚举 iota迭代器 Go语言输出函数 fmt.Printf("格式化字符串...

  • 10-Go语言函数-指趣学院

    函数 Go语言和C语言一样也有函数的概念, Go语言中函数除了定义格式和不用声明以外,其它方面几乎和C语言一模一样...

  • go 语言基础--函数

    1、函数 和C语言类型,Go语言也有函数的概念,语法如下: 2 参数和返回值 2.1 返回值 go 语言可以返回零...

  • Golang重要特征之init函数

    go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性 inti函数主要特征: 1...

网友评论

      本文标题:Go语言-函数

      本文链接:https://www.haomeiwen.com/subject/jpynfqtx.html