go语言的函数入参和出参个数

本go程序主要测试的是函数出参数入参个数问题

package main
import (
  "fmt"
)

//= 是赋值, := 是声明变量并赋值。
/**********************************
#@param a 是int
#@param b 是int
#Go语言中的参数传递方式都是值传递
#返回值是两个int类型
***********************************/
func f(a int,b int)(int,int){
  var c int
  var d int
  a=1
  b=2
  c=a
  d=b
  return c,d
}

//返回三个int类型值,返回的不应该大于入参数个数,否则会报错
func f2(a int,b int,c int)(int,int,int){
  var v1 int
  var v2 int
  var v3 int
  a=1
  b=2
  v1=a
  v2=b
  v3=a
  return v1,v2,v3
}

//add函数入参是2个,返回值是1个
/*********************************************************************
函数返回一个参数时下面方式是等价的,go都支持
func add(入参名 参数类型, 入参名 参数类型,...)(int){...}
func add(入参名 参数类型,入参名 入参类型,...)int{...}
**********************************************************************/

func add(a int,b int)(int){
  var c int
  c=a+b
  return c
}

/*
%d 输出十进制数字
%o 输出八进制数字
%x 输出小写的十六进制
%X 输出大写的十六进制
%b 输出二进制
%t 输出布尔值
%p 输出带0x的指针
%#p 输出不带0x的指针
%T 输出值的变量类型
fmt.Printf("%t\n", num)
fmt.Printf("%t\n", false)
fmt.Printf("%t\n", true)
*/
func main() {
  //=号使用时必须先用var声明例如:
  var variable1 = 10
  //或
  var variable2 int = 20
  var variable3 int = 11
  //:= 是声明并赋值,并且系统自动推断类型,不需要var关键字
  //多变量:= ,会自动创建相应变量out,err
  out, err := f(variable1,variable2)
  out1,err2,i3 := f2(variable1,variable2,variable3)
  fmt.Printf("输出结果%d\n",out)
  fmt.Printf("输出结果%d\n",err)
  fmt.Printf("输出结果%d\n",out1)
  fmt.Printf("输出结果%d\n",err2)
  fmt.Printf("输出结果%d\n",i3)
  var i int =add(21,41)
  fmt.Printf("add结果%d\n",i)
}

输出结果为:

> Environment:
> GOPATH=C:\Users\qingshuic\go
> Directory: C:\Program Files\Go\my-jin
> Command: "C:\Program Files\Go\bin\go.exe" run -v "C:\Program Files\Go\my-jin\Go语言=用法.go"
> Output:
输出结果1
输出结果2
输出结果1
输出结果2
输出结果1
add结果62
> Elapsed: 1.325s
> Result: Success

posted @ 2023-02-18 23:09  jinzi  阅读(18)  评论(0编辑  收藏  举报