1. 程式人生 > >Go語言學習筆記-函數部分(三)

Go語言學習筆記-函數部分(三)

個數 pri 用法 err 筆記 註意 語言 pac println

函數部分

  1. 函數基本組成:關鍵字func、函數名、參數列表、返回值、函數體、返回語句

    例子:
    func Add(int a, int b) (return int, err error){ ....函數體... }

    如果相鄰參數類型相同,可以簡寫,eg: a,b int //a、b參數類型相同

  2. 函數調用:

    使用方式:首先導入該函數所在的包,再直接通過點號‘.’來使用

    例子:

    import "mymath" //導入函數所在包

    c:= mymath.Add(1, 2) //使用格式

    註意:小寫字母開頭的函數只能在本包中使用(只在本包可見),大寫字母開頭的函數才能被其他包使用

  3. 不定參數:
    • 指的是傳入的參數個數不定數量
    • 用法:函數參數用 “...類型”指定
    • 例如:

        func myfun(args ...int){
            for _, arg := range args {
                fmt.PrintLn(arg)
            }
        } 
    • 任意類型的不定參數:
      • 參數類型用:interface{}
      • 例如:
        • func Printf(format string, args ...interface{}){ //參數類型為interface{}表示任意類型都可以傳進來

          }

  4. 代碼實例:

   package main
   import "fmt"
   func MyPrintf(args ...interface{}){ //不定參數的函數
       for _, arg := range args{
           switch arg.(type) {  //arg的數據類型
               case int:
                   fmt.Println(arg, "is an int value")
               case int64:
                   fmt.Println(arg, "is an int64 value")
               case string:
                   fmt.Println(arg, "is an string value")
               case float32:
                   fmt.Println(arg, "is an float32 value")
           }
       }
   }
   func main(){
       var v1 int = 1
       var v2 int64 = 234
       var v3 string = "hello"
       var v4 float32 = 1.234
       MyPrintf(v1, v2, v3, v4)
   }

Go語言學習筆記-函數部分(三)