• go语言学习之可变参数函数


     1 // 遍历可变参数列表——获取每一个参数的值
     2 package main
     3 
     4 import(
     5     "fmt"
     6     "bytes"
     7 )
     8 
     9 func joinString(stringList ...string) string{
    10     var buffer  bytes.Buffer
    11     for _, s:= range stringList{
    12         buffer.WriteString(s)
    13     }
    14     return buffer.String();
    15 }
    16 
    17 //func main(){
    18 //    str := joinString("hello!", "go", "语言")
    19 //    fmt.Println(str)
    20 //}
    21 
    22 // 获得可变参数类型——获得每一个参数的类型
    23 //package main
    24 //import(
    25 //    "bytes"
    26 //    "fmt" 
    27 //)
    28 //
    29 func printTypeValue(sList ... interface{}) string {
    30     fmt.Println(sList)
    31     var buffer bytes.Buffer
    32     var strType string
    33     for _, s := range sList {
    34         str := fmt.Sprintf("%v", s)
    35         switch s.(type){
    36              case bool:
    37                    strType = "bool"
    38              case int:
    39                     strType = "int"
    40              case string:
    41                     strType = "stringg"      
    42         }
    43         
    44         buffer.WriteString("value:")
    45         buffer.WriteString(str)
    46         buffer.WriteString("	s")
    47         buffer.WriteString("type:")
    48         buffer.WriteString(strType)
    49         buffer.WriteString("
    ")
    50         
    51     }
    52     return buffer.String()
    53 }
    54 
    55 //func  main(){
    56 //    fmt.Println(printTypeValue("I", true, 520)) 
    57 //}
    58 
    59 // 在多个可变参数函数中传递参数
    60 //package main
    61 //import "fmt"
    62 
    63 func doPrint(sList ...interface{}){
    64     for _, a := range sList {
    65         fmt.Println(a)
    66         
    67     }
    68 }
    69 
    70 func rawPrint(sList ... interface{}){
    71     doPrint(sList)
    72 
    73 }
    74 func  main(){ 
    75     // 遍历可变参数列表——获取每一个参数的值
    76     str := joinString("hello!", "go", "语言")
    77     // 获得可变参数类型——获得每一个参数的类型
    78      fmt.Println(str)
    79      fmt.Println(printTypeValue("I", true, 520)) 
    80      // 在多个可变参数函数中传递参数
    81     rawPrint("哈哈,在多个可变参数函数中传递参数")
    82 }
  • 相关阅读:
    Educational Codeforces Round 75 (Rated for Div. 2)
    Codeforces Round #596 (Div. 2, based on Technocup 2020 Elimination Round 2)
    Codeforces Round #594 (Div. 2)
    Codeforces Round #597 (Div. 2)
    Codeforces Round #599 (Div. 2)
    数学笔记
    模板
    模板
    win7如何更改语言教程
    cmd-net命令详解
  • 原文地址:https://www.cnblogs.com/xzlq/p/9956381.html
Copyright © 2020-2023  润新知