سؤال

اكتشف فقط الذهاب، وأنا فضولي جدا حتى الآن. أعلم أنني مجرد كسول، لكنني أريد أن أعرف ما إذا كان من الممكن تهيئة متغيرات متعددة في بيان IF. أعلم أن ما يلي ممكن:

if x := 5; x == 5 {
    fmt.Printf("Whee!\n")
}

لقد جربت ما يلي:

if x := 5, y := 38; x == 5 {
    fmt.Printf("Whee! %d\n", y)
}

if x := 5 && y := 38; x == 5 {
    fmt.Printf("Whee! %d\n", y)
}

لكن لا عملت. نظرت إلى الوثائق الموجودة على موقع GO، فهل هناك أي شيء أفتقده أو هل هذا ببساطة غير ممكن؟

هل كانت مفيدة؟

المحلول

هيريس كيفية القيام بذلك:

package main

import (
    "fmt"
)

func main() {
    if x, y := 5, 38; x == 5 {
        fmt.Printf("Whee! %d\n", y)
    }
}


اختبارها مع هذه المراجعة:

changeset:   3975:b51fd2d6c160
tag:         tip
user:        Kevin Ballard <xxxxxxxxxxxxxxxxxxxxx>
date:        Tue Nov 10 20:05:24 2009 -0800
summary:     Implement new emacs command M-x gofmt

نصائح أخرى

package main
import("fmt")
func main() {
    if x, y := 5, 38; x == 5 {
        fmt.Printf("y = %d\n", y)
        fmt.Printf("x = %d\n", x)
    }
}

https://play.golang.org/p/sbv6humkya.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top