golang中可变参数的使用:求最大值和最小值

golang中可以使用可变化的参数来声明函数,比如求一列数中的最大值或者是最小值,传入的参数个数是不固定的,这时就需要使用到可变参数。一:可变参数的生命形式可变参数的声明形式如下:func function(param ...type) type { }具体到本文讲解的求最大值函数max和求最小值函数min的声明会如下形式:func min(num ...int) int { //求...
摘要由CSDN通过智能技术生成

golang中可以使用可变化的参数来声明函数,比如求一列数中的最大值或者是最小值,传入的参数个数是不固定的,这时就需要使用到可变参数。

一:可变参数的声明形式

可变参数的声明形式如下:

func function(param ...type) type { 
}

具体到本文讲解的求最大值函数max和求最小值函数min的声明会如下形式:

func min(num ...int) int { //求最大值
//具体实现
}

func max(num ...int) int { //求最小值
//具体实现
}

二:构造int型最大值和最小值

在求最大值和最小值的具体实现中,我们肯定会需要用到一个初始的值来进行记录。
如求最大值的逻辑如下:

max = INT_MIN
if a > min
max = a 
return max

那么INT_MIN的值一定是需要时int类型的最小值,那么如何构造INT_MIN

const MAX = int(^uint(0) >> 1)  //构造0111111111....   9223372036854775807
const MIN = int(^MAX)			//构造10000000...   -9223372036854775808

三:具体实现

具体的求最大值和最小值的函数定义如下:

package main

import "fmt"

const MAX = int(^uint(0) >&g
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值