• Go语言学习笔记-函数部分(三)


    函数部分

    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)
       }
    
  • 相关阅读:
    codechef Graph on a Table
    CF1063F. String Journey
    BZOJ1547: 周末晚会
    maxsigma
    LOJ#2351. 「JOI 2018 Final」毒蛇越狱
    BZOJ3632: 外太空旅行
    图论:tarjan相关算法复习
    Codeforces 321E. Ciel and Gondolas(凸优化+决策单调性)
    5031. 【NOI2017模拟3.27】B (k次狄利克雷卷积)
    CSAcademy Round 10 Yury's Tree(有根树点分树或kruskal重构树)
  • 原文地址:https://www.cnblogs.com/alisleepy/p/9982555.html
Copyright © 2020-2023  润新知