go函數類型


1、什么是go的函數類型呢?

  • go的函數類型定義:用type +函數類型名 (輸入類型)(輸出類型),代表一類的函數
  • //函數類型,函數本身也是一種數據類型
    func Minus(a, b int32) int32 {
        return a - b
    }
    
    func Add(a, b int32) int32 {
        return a + b
    }
    
    //定義函數類型 ,通過type給函數類型起名
    //FuncType它是一個函數類型
    type FuncType func(int32, int32) int32 //這種函數類型它代表兩個輸入int32,和一個輸出int32的類型

    //實現
    FuncType
     
               
    func UseFunType() {
    
        //聲明一個函數類型
        var aFunType FuncType
    
        //給函數類型賦值
        aFunType = Add
        aFunType(10, 5)
    
        //重新給函數類型賦值
        aFunType = Minus
        aFunType(10, 5)
    
        //函數類型的作用是實現函數的多態
        num := Calc(1, 2, Add)
        fmt.Println("%d", num)
    }

2、go的函數類型有什么用呢?

  • 實現函數的多態,什么是多態呢?就是一個函數實現多種形態
  • //回調函數,函數有一個參數是函數類型,這個函數就是回調函數
    //多態,多種形態,調用統一接口,不同的表現
    //Calc函數實現了很多與函數類型相似的輸入和輸出的函數
    //實現函數的多重功能
    func Calc(a, b int32, fTest FuncType) (result int32) {
        fmt.Println("Calc")
        result = fTest(a, b)
        return
    }
  • 有點就是我可以寫調用函數的函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM