Как легко инициализировать локальную переменную для условного оператора if в Golang или Go?

Первоначально было опубликовано здесь!

Чтобы легко инициализировать локальную переменную для условного оператора if в Golang, вы можете написать код инициализации переменной после ключевого слова if, за которым следует символ ; (точка с запятой), а затем условный оператор.

TL;DR

package main

import "fmt"

func main() {
    // a simple if conditional statement
    // and a local variable called `greeting`
    // with the value of `Hey`
    if greeting := "Hey"; 3 < 5 {
        fmt.Printf(greeting)
        fmt.Printf(" Yes, it is true!")
    }


    // using the `greeting` variable outside the
    // if conditional statement won't work
    fmt.Printf(greeting); // ❌ undefined: greeting. Go build failed.
}
Вход в полноэкранный режим Выйти из полноэкранного режима

Например, допустим, у нас есть условный оператор if, который проверяет, меньше ли значение 3, чем значение 5, и если это так (очевидно), должен вывести на терминал текст Да, это так!.

Это будет выглядеть следующим образом,

package main

import "fmt"

func main() {
    // a simple if conditional statement
    if 3 < 5 {
        fmt.Printf("Yes, it is true!")
    }
}
Вход в полноэкранный режим Выход из полноэкранного режима

Теперь, чтобы легко инициализировать локальную переменную для условного блока if, мы можем указать инициализацию переменной после ключевого слова if и завершить инициализацию переменной символом ; (точка с запятой).

Давайте создадим локальную переменную greeting со значением Hey и выведем ее на терминал.

Это можно сделать следующим образом,

package main

import "fmt"

func main() {
    // a simple if conditional statement
    // and a local variable called `greeting`
    // with the value of `Hey`
    if greeting := "Hey"; 3 < 5 {
        fmt.Printf(greeting)
        fmt.Printf(" Yes, it is true!")
    }
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь, если вы запустите программу, вы увидите вывод, подобный этому,

Hey Yes, it is true!
Вход в полноэкранный режим Выход из полноэкранного режима

Наконец, чтобы доказать, что это доступно только в указанном нами условном блоке if. Давайте также попробуем использовать переменную greeting вне условного оператора if.

Это можно сделать следующим образом,

package main

import "fmt"

func main() {
    // a simple if conditional statement
    // and a local variable called `greeting`
    // with the value of `Hey`
    if greeting := "Hey"; 3 < 5 {
        fmt.Printf(greeting)
        fmt.Printf(" Yes, it is true!")
    }


    // using the `greeting` variable outside the
    // if conditional statement won't work
    fmt.Printf(greeting); // ❌ undefined: greeting. Go build failed.
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Как только вы запустите программу, компилятор Go выдаст ошибку undefined: greeting. Go build failed. что доказывает, что переменная объявлена локально для условного оператора if.

Мы успешно инициализировали локальную переменную для условного оператора if в Golang/Go. Ура 🥳!

Посмотрите приведенный выше код в реальном времени в The Go Playground.

Вот и все 😃!

Не стесняйтесь поделиться, если вы нашли это полезным 😃.


Оцените статью
devanswers.ru
Добавить комментарий