zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Java第四章课后整理
    java第三章课后作业1
    Java第三章整理
    JAVA第二章课后作业
    JAVA第二章整理
    java课后作业1
    JAVA第一章整理实验
    JAVA大道至简第一章伪代码
    文本数据特征选取的四种方法
    时域分析与频率分析的比较
  • 原文地址:https://www.cnblogs.com/xzlq/p/9956381.html
Copyright © 2011-2022 走看看