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

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

Go 中的元組賦值

Go 中的元組賦值

Go
婷婷同學(xué)_ 2023-06-05 19:39:42
從規(guī)格:元組分配將多值運(yùn)算的各個(gè)元素分配給變量列表。有兩種形式。第一種,右側(cè)操作數(shù)是單個(gè)多值表達(dá)式,例如函數(shù)調(diào)用、通道或映射操作或類型斷言。左側(cè)操作數(shù)的數(shù)量必須與值的數(shù)量相匹配。例如,如果 f 是一個(gè)返回兩個(gè)值的函數(shù),x, y = f()則將第一個(gè)值分配給 x,將第二個(gè)值分配給 y。在第二種形式中,左邊的操作數(shù)的個(gè)數(shù)必須等于右邊的表達(dá)式的個(gè)數(shù),每個(gè)表達(dá)式必須是單值的,右邊的第n個(gè)表達(dá)式賦值給左邊的第n個(gè)操作數(shù):one, two, three = '一', '二', '三'任務(wù)分兩個(gè)階段進(jìn)行。首先,左邊的索引表達(dá)式和指針間接(包括選擇器中的隱式指針間接)和右邊的表達(dá)式的操作數(shù)都按通常的順序求值。其次,分配是按從左到右的順序進(jìn)行的。使用此代碼(i, n = i+2, n-1內(nèi)部 for 循環(huán)):package mainimport (? ? "fmt"? ? "math")func main() {? ? p := &Prime{}? ? p.Generate(1000000)? ? fmt.Println(p.Last()) // 15485863}func (p *Prime) Generate(n uint) {? ? p.Primes = make([]uint64, 1, n)? ? p.Primes[0] = 2next:? ? for i := uint64(3); n > 1; i, n = i+2, n-1 {? ? ? ? q := uint64(math.Sqrt(float64(i)))? ? ? ? for _, v := range p.Primes[1:] {? ? ? ? ? ? if v > q {? ? ? ? ? ? ? ? break? ? ? ? ? ? }? ? ? ? ? ? if i%v == 0 {? ? ? ? ? ? ? ? continue next? ? ? ? ? ? }? ? ? ? }? ? ? ? p.Primes = append(p.Primes, i)? ? ? ? // n--? ? }}type Prime struct {? ? Primes []uint64}func (p *Prime) Last() uint64 {? ? return p.Primes[len(p.Primes)-1]}輸出是:1999993這不是正確的結(jié)果。這段代碼:func (p *Prime) Generate(n uint) {? ? p.Primes = make([]uint64, 1, n)? ? p.Primes[0] = 2next:? ? for i := uint64(3); n > 1; i += 2 {? ? ? ? q := uint64(math.Sqrt(float64(i)))? ? ? ? for _, v := range p.Primes[1:] {? ? ? ? ? ? if v > q {? ? ? ? ? ? ? ? break? ? ? ? ? ? }? ? ? ? ? ? if i%v == 0 {? ? ? ? ? ? ? ? continue next? ? ? ? ? ? }? ? ? ? }? ? ? ? p.Primes = append(p.Primes, i)? ? ? ? n--? ? }}輸出是正確的:15485863go version go1.11.5 linux/amd64我在 Go 的元組分配中遺漏了什么嗎?提前致謝。
查看完整描述

1 回答

?
繁星淼淼

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

不,給出錯(cuò)誤結(jié)果的不是元組賦值。

兩個(gè)代碼之間存在細(xì)微差別,這導(dǎo)致了錯(cuò)誤。在 playgound 代碼中,每次迭代循環(huán)時(shí)都會運(yùn)行i,n = i+2,n-1make ,而 github 代碼僅在是質(zhì)數(shù)時(shí)運(yùn)行(如果運(yùn)行則跳過)。n = n-1n = n-1in--continue next


查看完整回答
反對 回復(fù) 2023-06-05
  • 1 回答
  • 0 關(guān)注
  • 193 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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