主頁 > 知識庫 > Golang的func參數(shù)及返回值操作

Golang的func參數(shù)及返回值操作

熱門標(biāo)簽:外呼系統(tǒng)顯本地手機(jī)號 涿州代理外呼系統(tǒng) 壽光微信地圖標(biāo)注 電話機(jī)器人軟件免費(fèi) 外呼系統(tǒng)用什么卡 阿克蘇地圖標(biāo)注 評價高的400電話辦理 百度地圖標(biāo)注后傳給手機(jī) excel地圖標(biāo)注分布數(shù)據(jù)

參數(shù)及返回值

參數(shù)一指定數(shù)據(jù)類型為int

參數(shù)二 (…interface{}) 可傳任何多個不同類型的參數(shù)

返回值:單個返回值直接指定數(shù)據(jù)類型可以不使用 (),多個返回值需使用()。各返回值之間使用逗號分隔

func main() {
 demo.Params(10, 20, "golang", true)
}
func Params(id int, params ...interface{}) (error, error) {
 fmt.Println(id)
 fmt.Println(params[0])
 fmt.Println(params[1])
 fmt.Println(params[2])
 for key, val := range params {
  fmt.Println("key", key)
  fmt.Println("val", val, reflect.TypeOf(val))
 }
 return nil, errors.New("error")
}

Debug如下

補(bǔ)充:Golang interface{} 作為函數(shù)參數(shù)和函數(shù)返回值例子

看代碼吧~

package main
import (
    "errors"
    "fmt"
)
type item struct {
    Name string
}
func (i item) String() string {
    return fmt.Sprintf("item name:%v", i.Name)
}
type person struct {
    Name string
    Sex  string
}
func (p person) String() string {
    return fmt.Sprintf("person name:%v sex:%v", p.Name, p.Sex)
}
func Parse(i interface{}) interface{} {
    switch i.(type) {
    case string:
        return item{
            Name: i.(string),
        }
    case []string:
        data := i.([]string)
        length := len(data)
        if length == 2 {
            return person{
                Name: data[0],
                Sex:  data[1],
            }
        } else {
            return nil
        }
    default:
        panic(errors.New("Type match miss"))
    }
    return nil
}
func main() {
    p1 := Parse("apple").(*item)
    fmt.Println(p1)
    p2 := Parse([]string{"zhanghan", "man"}).(*person)
    fmt.Println(p2)
    fmt.Println(p1.Name)
    fmt.Println(p2.Name)
    fmt.Println(p2.Sex)
}

運(yùn)行結(jié)果如下:

item name:apple

person name:zhanghan sex:man

apple

zhanghan

man

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • golang實(shí)現(xiàn)對docker容器心跳監(jiān)控功能
  • 淺談golang 中time.After釋放的問題
  • golang 定時任務(wù)方面time.Sleep和time.Tick的優(yōu)劣對比分析
  • golang日志包logger的用法詳解
  • golang elasticsearch Client的使用詳解
  • golang協(xié)程池模擬實(shí)現(xiàn)群發(fā)郵件功能
  • golang 比較浮點(diǎn)數(shù)的大小方式
  • Golang: 內(nèi)建容器的用法

標(biāo)簽:蘭州 欽州 汕頭 銅川 重慶 吐魯番 雞西 梅河口

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Golang的func參數(shù)及返回值操作》,本文關(guān)鍵詞  Golang,的,func,參數(shù),及,返回,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Golang的func參數(shù)及返回值操作》相關(guān)的同類信息!
  • 本頁收集關(guān)于Golang的func參數(shù)及返回值操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章