English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang базовый учебник

Golang управляющие инструкции

Golang функции и методы

Golang структуры

Golang срезы и массивы

Golang строка (String)

Golang указатель

Интерфейсы Golang

Конкурентность Golang

Исключения (Error) Golang

Другие статьи Golang

Сравнение строк в Go

В Go-языке строки кодируются с использованием кодировки UTF-8 и являются неизменяемыми последовательностями байтов. Вы можете сравнивать строки двумя различными способами:

1. Использование операторов сравнения:Перейти к строкам, поддерживающим сравнительные операторы, то есть==, !=, >=, <=, <, >. Здесь,==и!=Операторы используются для проверки равенства заданных строк. И > =, <=, <, > операторы используются для поиска лексического порядка. Результаты этих операторов типа bool, что означает, что если условие выполняется, то возвращаетсяtrueВ противном случае возвращаетfalse.

Пример 1: Операторы == и != для строк

//Содержит операторы == и != для строк
package main
import "fmt"
func main() {
    //Создание и инициализация строк
    //Использование сокращенного объявления
    str1 := "Geeks"
    str2 := "Geek"
    str3 := "w3codebox"
    str4 := "Geeks"
    //Проверка, равны ли строки
    //Использование оператора ==
    result1 := str1 == str2
    result2 := str2 == str3
    result3 := str3 == str4
    result4 := str1 == str4
    fmt.Println("Результат 1: ", result1)
    fmt.Println("Результат 2: ", result2)
    fmt.Println("Результат 3: ", result3)
    fmt.Println("Результат 4: ", result4)
    //Проверка, не равны ли строки
    //Использование оператора !=
    result5 := str1 != str2
    result6 := str2 != str3
    result7 := str3 != str4
    result8 := str1 != str4
    fmt.Println("\nResult 5: ", result5)
    fmt.Println("Результат 6: ", result6)
    fmt.Println("Result 7: ", result7)
    fmt.Println("Result 8: ", result8)
}

Вывод:

Результат 1: false
Result 2: false
Результат 3: false
Результат 4: true
Результат 5: true
Результат 6: true
Result 7: true
Result 8: false

Пример 2: Операторы сравнения строк

//Операторы сравнения строк
package main 
  
import "fmt"
  
func main() { 
  
        //Создание и инициализация
        //Использование сокращенного объявления
    myslice := []string{"Geeks", "Geeks", 
                    "gfg", "GFG", "for" 
      
    fmt.Println("Slice: ", myslice) 
  
    //Использование операторов сравнения
    result1 := "GFG" > "Geeks"
    fmt.Println("Результат 1: ", result1) 
  
    result2 := "GFG" < "Geeks"
    fmt.Println("Результат 2: ", result2) 
  
    result3 := "Geeks" >= "for"
    fmt.Println("Результат 3: ", result3) 
  
    result4 := "Geeks" <= "for"
    fmt.Println("Результат 4: ", result4) 
  
    result5 := "Geeks" == "Geeks"
    fmt.Println("Результат 5: ", result5) 
  
    result6 := "Geeks" != "for"
    fmt.Println("Результат 6: ", result6) 
}

Вывод:

Срез: [Geeks Geeks gfg GFG for]
Результат 1: false
Результат 2: true
Результат 3: false
Результат 4: true
Результат 5: true
Результат 6: true

2. Использование метода Compare():Вы также можете использовать内置函数 Compare() из пакета строк для сравнения двух строк. После сравнения двух строк функция возвращает целое значение. Значение возвращается:

  • еслиstr1 == str2возвращает 0 .

  • еслиstr1 > str2возвращает 1 .

  • еслиstr1 < str2,возвращает -1 .

Синтаксис:

func Compare(str1, str2 string) int
// использование функции compare() для строк
package main 
  
import ( 
    "fmt"
    "strings"
) 
  
func main() { 
  
    // сравнение строк с использованием функции сравнения
    fmt.Println(strings.Compare("gfg", "Geeks")) 
      
    fmt.Println(strings.Compare("w3codebox", "w3codebox")) 
      
    fmt.Println(strings.Compare("Geeks", " GFG")) 
      
    fmt.Println(strings.Compare("GeeKS", "GeeKs")) 
}

Вывод:

1
0
1
-1