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