«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу проверить, равны ли три значения на ходу?

Как я могу проверить, равны ли три значения на ходу?

Опубликовано в 2025-03-24
Просматривать:197

How Can I Check if Three Values are Equal in Go?

проверка равенства трех значений элегантно

, в то время как традиционный подход с if a == b == c приводит к ошибке синтаксиса, есть альтернативные методы, чтобы определить, являются ли три значения. Подход

остается простейшее решение:

, если a == b && a == c { fmt.println («Все 3 равны») }

if a == b && a == c {
    fmt.Println("All 3 are equal")
}

Изучение творческих решений

Использование карты в качестве набора:

]

, если len (map [interface {}] int {a: 0, b: 0, c: 0}) == 1 {}] int {a: 0, b: 0, c: 0} == 1 fmt.println («Все 3 равны») }

]
if len(map[interface{}]int{a: 0, b: 0, c: 0}) == 1 {
    fmt.Println("All 3 are equal")
}

массивы сопоставимы, что позволяет нам сравнивать несколько элементов одновременно:

if [2] интерфейс {} {a, b} = [2] {} {b fmt.println («Все 3 равны»)

]
if [2]interface{}{a, b} == [2]interface{}{b, c} {
    fmt.Println("All 3 are equal")
}

мы можем индексировать карту с ключом, которая приводит к значению сравнения:

if map [}] bool {a: b = c} [b] {b] {b] {b] {b] fmt.println («Все 3 равны») }

if map[interface{}]bool{a: b == c}[b] {
    fmt.Println("All 3 are equal")
}

также сопоставимы, поэтому мы можем создать анонимную структуру со значениями и сравнить их:

if struct } {b, c} { fmt.println («Все 3 равны») }

]
if struct{ a, b interface{} }{a, b} == struct{ a, b interface{} }{b, c} {
    fmt.Println("All 3 are equal")
}

, чтобы сравнить срезы, мы используем entereepequal () function:

if Refert.deepequal ([] interface {} {a, b}, [] interface. fmt.println («Все 3 равны») }

]
if reflect.DeepEqual([]interface{}{a, b}, []interface{}{b, c}) {
    fmt.Println("All 3 are equal")
}
]

мы можем определить функцию Helper для обработки любого количества значений:

func alequals (v ... enterface {}) bool {& Если len (v)> 1 { A: = V [0] для _, s: = диапазон v { Если a! = s { вернуть ложь } } } вернуть правду }

]

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3