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

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

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

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

Golang структуры

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

Golang строки (String)

Golang указатели

Golang интерфейсы

Golang параллелизм

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

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

Поиск значения индекса строки в языке Go

В Go языке строку можно найти с помощью следующих функций, чтобы найти первый индекс заданной строки в исходной строке. Эти функции определены в пакете строк, поэтому вам нужно импортировать пакет строк в вашем приложении, чтобы использовать эти функции:

1.Index:Эта функция используется для поиска индекса первойinstance заданной строки в исходной строке. Если заданная строка не существует в исходной строке, то этот метод возвращает -1.

Синтаксис:

func Index(str string, sbstr string) int

здесь,strявляется исходной строкой,sbstrявляется строкой, по которой мы хотим найти индекс. Давайте рассмотрим этот концепт с помощью примера:

//Индекс значения строки
package main
import (
    "fmt"
    "strings"
)
func main() {
    // Создание и инициализация строк
    str1 := "Welcome to the online portal of w3codebox"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
    //Отображение строки
    fmt.Println("Строка 1: ", str1)
    fmt.Println("Строка 2: ", str2)
    fmt.Println("Строка 3: ", str3)
    //Поиск индекса заданной строки
    //Использование функции Index()
    res1 := strings.Index(str1, "Geeks")
    res2 := strings.Index(str2, "do")
    res3 := strings.Index(str3, "chess")
    res4 := strings.Index("w3codebox, geeks", "ks")
    // Показывать результат
    fmt.Println("\nЗначение индекса:")
    fmt.Println("Результат 1: ", res1)
    fmt.Println("Результат 2: ", res2)
    fmt.Println("Результат 3: ", res3)
    fmt.Println("Результат 4: ", res4)
}

Вывод:

Строка 1: Welcome to the online portal of w3codebox
Строка 2: My dog name is Dollar
Строка 3: I like to play Ludo
Значение индекса:
Результат 1: -1
Результат 2: 3
Результат 3: -1
Результат 4: 10

2. IndexAny:Этот метод возвращает индекс первойinstance Unicode кода chars в исходной строке. Если в исходной строке нет Unicode кода chars, то этот метод возвращает -1.

Синтаксис:

func IndexAny(str string, charstr string) int

здесь,strявляется исходной строкой,charstrявляется Unicode кодом символа chars, который мы хотим найти по индексу.

//Индекс значения строки
package main
import (
    "fmt"
    "strings"
)
func main() {
    // Создание и инициализация строк
    str1 := "Welcome to the online portal of oldtoolbag.com"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
    //Отображение строки
    fmt.Println("Строка 1: ", str1)
    fmt.Println("Строка 2: ", str2)
    fmt.Println("Строка 3: ", str3)
    //Поиск индекса заданной строки
    //Использование функции IndexAny()
    res1 := strings.IndexAny(str1, "G")
    res2 := strings.IndexAny(str2, "do")
    res3 := strings.IndexAny(str3, "lqxa")
    res4 := strings.IndexAny("w3codebox, geeks", "uywq")
    // Показывать результат
    fmt.Println("\nЗначение индекса:")
    fmt.Println("Результат 1: ", res1)
    fmt.Println("Результат 2: ", res2)
    fmt.Println("Результат 3: ", res3)
    fmt.Println("Результат 4: ", res4)
}

Вывод:

Строка 1: Welcome to the online portal of oldtoolbag.com
Строка 2: My dog name is Dollar
Строка 3: I like to play Ludo
Значение индекса:
Результат 1: -1
Результат 2: 3
Результат 3: 2
Результат 4: -1

3. IndexByte:Эта функция возвращает индекс первой инстанции заданного байта в исходной строке. Если заданный байт не существует в исходной строке, этот метод возвращает -1.

Синтаксис:

func IndexByte(str string, b byte) int

здесь,strявляется исходной строкой,bявляется байтом, мы хотим найти его индекс. Давайте рассмотрим этот концепт с помощью примера:

// Заданный байт индекса
package main
import (
    "fmt"
    "strings"
)
// Основная функция
func main() {
    // Создание и инициализация строк
    str1 := "Welcome to the online portal of oldtoolbag.com"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
    // Показывать строки
    fmt.Println("Строка 1: ", str1)
    fmt.Println("Строка 2: ", str2)
    fmt.Println("Строка 3: ", str3)
    // Найти индекс заданного байта
    // Использование функции IndexByte()
    res1 := strings.IndexByte(str1, 'c')
    res2 := strings.IndexByte(str2, 'o')
    res3 := strings.IndexByte(str3, 'q')
    res4 := strings.IndexByte("w3codebox, geeks", 'G')
    // Показывать результат
    fmt.Println("\nЗначение индекса:")
    fmt.Println("Результат 1: ", res1)
    fmt.Println("Результат 2: ", res2)
    fmt.Println("Результат 3: ", res3)
    fmt.Println("Результат 4: ", res4)
}

Вывод:

Строка 1: Welcome to the online portal of w3codebox
Строка 2: My dog name is Dollar
Строка 3: I like to play Ludo
Значение индекса:
Результат 1: 3
Результат 2: 4
Результат 3: -1
Результат 4: 0