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

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

將切片轉(zhuǎn)換為元組的便捷功能?

將切片轉(zhuǎn)換為元組的便捷功能?

Go
森林海 2021-06-04 07:47:59
在 Python 中,可以編寫(xiě)這樣的代碼,從列表中分配多個(gè)值:(a, b, c, d) = [1,2,3,4]是否有一組類似的用于切片的 Go 庫(kù)函數(shù)?也就是說(shuō),我可以這樣做:http : //play.golang.org/p/DY1Bi5omm1package mainfunc get3(s []interface{}) (    a interface{},    b interface{},    c interface{},    rest []interface{}) {  return s[0],s[1],s[2],s[4:]}func main() {    s := make([]interface{},5);  for i :=0 ; i < 5; i++ { s[i] = i}  a,b,c,_ := get3(s)  print(a.(int))  print(b.(int))  print(c.(int))}有沒(méi)有標(biāo)準(zhǔn)的 gophery 方法來(lái)做到這一點(diǎn)?有沒(méi)有辦法解決界面丑陋的問(wèn)題?{}
查看完整描述

2 回答

?
GCT1015

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

我認(rèn)為你不能,至少不能以慣用/干凈的方式。您可以進(jìn)行多項(xiàng)分配,但您必須直接或使用閉包傳遞單個(gè)值:


package main


import (

  "fmt"

)


func valuesFromList(list[]int,startFrom int) func() int  {

  i:=startFrom

  return func() int {

    ret := list[i]

    i++

    return ret

  }

}



func main () {

  list := []int{0,1,2,3,4,5,6,7,8,9}

  yield := valuesFromList(list,5)


  //This works

  a,b,c := yield(),yield(),yield()

  fmt.Println(a)

  fmt.Println(b)

  fmt.Println(c)


  //This also works

  d,e,f := list[0],list[1],list[2]

  fmt.Println(d)

  fmt.Println(e)

  fmt.Println(f)

  //This won't work

  //g,h,i:= list[7:9]

}


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

添加回答

舉報(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)