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 }
  • 相关阅读:
    Windows程序设计6(内存、线程、进程)
    Windows程序设计5(MDI、库程序、文件)
    Windows程序设计4(文字、对话框、各控件)
    大数据开发学习之构建Hadoop集群-(0)
    杂谈
    Windows程序设计2(消息机制、菜单)
    QT 学习笔记概述(一)
    Linux/Windows 实用工具简记
    读书笔记《深度探索c++对象模型》(0)
    读书笔记《深入理解计算机系统》(第三版) 概述
  • 原文地址:https://www.cnblogs.com/xzlq/p/9956381.html
Copyright © 2011-2022 走看看