golang 函数基本用法

函数学习

package main

import "fmt"

// 标准的函数写法
func work1(a int,b int) int {
	return a + b
}

// 当连续的参数都是相同类型,那么可以只声明最后一个参数类型
func work2(a,b int,c,d float64) float64{
	return float64(a + b) + c + d 
} 

//多返回值
func work3(a,b int,c,d float64) (int,float64){
	return a + b ,c + d
}

// 变参函数 参数的数量不固定
func work4(nums...int) int{
	fmt.Println(nums)
	res := 0
	for _,val := range nums{
		res +=val
	}
	return res
}

func main(){
	a := 1
	b := 2
	fmt.Println(work1(a,b))
	c := 1.0
	d := 1.1
	fmt.Println(work2(a,b,c,d))

	e,f := work3(a,b,c,d) //如果不关心返回的一些参数,可以用 _ 代替
	fmt.Println(e,f)
	
	/*
	变参函数 不能直接传入数组
	不过可以先将数组转成切片 nums -> nums[:]
	然后切片转为 变参参数(在后面+...)  slice -> slice...
	*/
	fmt.Println(work4(1))
	fmt.Println(work4(1,2))
	nums := [5]int{1,2,3,4,5}
	s1 := []int{3,4,5}
	fmt.Println(work4(nums[:]...))
	fmt.Println(work4(s1...))
}

posted @   Liang2003  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示