第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

可變參數(shù)函數(shù)的困難

可變參數(shù)函數(shù)的困難

Go
慕尼黑的夜晚無(wú)繁華 2023-08-07 18:50:04
摘自《Go 編程簡(jiǎn)介》,第 91 頁(yè),練習(xí)題 4,主題:函數(shù):編寫一個(gè)帶有一個(gè)可變參數(shù)的函數(shù)來(lái)查找數(shù)字列表中的最大數(shù)字?到目前為止,我已經(jīng)編寫了這段代碼,但它顯示錯(cuò)誤package mainimport (    "fmt")func findMaximum(args ...[]int) []int {    max := args[0]    for _, v := range args {        if v > []args {            max = v        }    }    return args}func main() {    x := []int{        48, 96, 86, 68,        57, 82, 63, 70,        37, 34, 83, 27,        19, 97, 9, 17,    }    fmt.Println(findMaximum(x))}我參考了這個(gè)程序(第 75 頁(yè),問(wèn)題編號(hào) - 4,主題:數(shù)組、切片和映射)編寫一個(gè)程序來(lái)查找此列表中的最小數(shù)字:x := []int{ 48,96,86,68, 57,82,63,70, 37,34,83,27, 19,97, 9,17,}這是我為解決這個(gè)問(wèn)題而編寫的程序package mainimport "fmt"func main() {    arr := []uint{        48, 96, 86, 68,        57, 82, 63, 70,        37, 34, 83, 27,        19, 97, 9, 17,    }    min := arr[0] // assume first value is smallest    for _, value := range arr {        if value < min {            min = value // found another value, replace previous value of min        }    }    fmt.Println("The smallest value is : ", min)}這個(gè)問(wèn)題程序正在運(yùn)行,但第一個(gè)程序沒(méi)有運(yùn)行,我不知道為什么。
查看完整描述

2 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

在數(shù)學(xué)和計(jì)算機(jī)編程中,可變參數(shù)函數(shù)是一種不定數(shù)量的函數(shù),即接受可變數(shù)量的參數(shù)的函數(shù)。

您的函數(shù)簽名稍微不正確。

func?findMaximum(args?...[]int)?[]int

這表示findMaximum接受可變數(shù)量的int切片作為參數(shù)并返回一個(gè)int切片。您試圖解決的問(wèn)題是要求接受可變數(shù)量的參數(shù)并返回所提供集合中最大的int單數(shù)。int

調(diào)用你的函數(shù)看起來(lái)像這樣:

largest?:=?findMaximum([]int{1,?2,?3},?[]int{4,?5,?6},?[]int{7,?8,?9})

在這種情況下,largest的類型[]int表明該函數(shù)int以切片的形式返回多個(gè)值。這是沒(méi)有意義的,因?yàn)閼?yīng)該只有一個(gè)最大值(假設(shè)沒(méi)有重復(fù)項(xiàng))。

您需要一個(gè)如下所示的函數(shù)簽名:

func?findMaximum(args?...int)?int

調(diào)用這個(gè)函數(shù)看起來(lái)像這樣:

largest?:=?findMaximum(1,?2,?3,?4,?5,?6,?7,?8,?9)

...或者如果你的數(shù)字在一個(gè)切片中:

nums?:=?[]int{1,?2,?3,?4,?5,?6,?7,?8,?9}
largest?:=?findMaximum(nums...)

在這種情況下,largest將是 類型int,這是您在此問(wèn)題中尋找的正確返回值。

(去游樂(lè)場(chǎng))

祝你好運(yùn)!


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

如果您通過(guò)https://play.golang.org/運(yùn)行代碼,您將看到一些語(yǔ)法錯(cuò)誤。下面是在切片中找到最大值的正確版本。...正如您所注意到的,切片參數(shù)調(diào)用中有額外的內(nèi)容。

package main


import (

    "fmt"

)


func findMaximum(args []int) int {

    max := args[0]

    for _, v := range args {

        if v > max{

            max = v

        }

    }

    return max

}


func main() {

    x := []int{

        48, 96, 86, 68,

        57, 82, 63, 70,

        37, 34, 83, 27,

        19, 97, 9, 17,

    }

    fmt.Println(findMaximum(x))

}


查看完整回答
反對(duì) 回復(fù) 2023-08-07
  • 2 回答
  • 0 關(guān)注
  • 193 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)