Рубрики

Поиск элемента типа float64 в срезе Golang

В Go языковой фрагмент является более мощным, гибким, удобным, чем массив, и представляет собой облегченную структуру данных. Срез представляет собой последовательность переменной длины, в которой хранятся элементы аналогичного типа, вам не разрешено хранить элементы разного типа в одном и том же срезе.
Во фрагменте Go вы можете искать элемент типа float64 в данном фрагменте float64s с помощью функции SearchFloat64s () . Эта функция ищет указанный элемент в отсортированном слайсе float64s и возвращает индекс этого элемента, если он присутствует в данном слайсе. И если данный элемент недоступен в срезе (это может быть len (s_slice) ), он возвращает индекс для вставки элемента в срез. Указанный фрагмент должен быть отсортирован в порядке возрастания. Он определен в пакете сортировки, поэтому вам необходимо импортировать пакет сортировки в вашу программу для доступа к функции SearchFloat64s .

Синтаксис:

func SearchFloat64s(s_slice []float64, f float64) int

Пример 1:

// Перейти к программе, чтобы проиллюстрировать, как искать
// элемент типа float64 во фрагменте float64s
package main

  
import (

    "fmt"

    "sort"

)

  
// Основная функция
func main() {

  

    // Создание и инициализация

    // кусок Float64s

    // Использование стенографического объявления

    slice_1 := []float64{45.667, 34545.5, 655.45,

                        768.8, 79.1, 10.2, 34.67}

      

    slice_2 := []float64{56.78, 67.89, 10.7,

                         345.6, 89.4, 45.8}

  

    var f1, f2, f3 float64

    f1 = 34545.5

    f2 = 67.89

    f3 = 10.7

  

    // Сортировка данного фрагмента Float64s

    sort.Float64s(slice_1)

    sort.Float64s(slice_2)

  

    // Отображение ломтиков

    fmt.Println("Slice 1: ", slice_1)

    fmt.Println("Slice 2: ", slice_2)

  

    // Поиск элемента float64

    // в данном срезе

    // Использование функции SearchFloat64s

    res1 := sort.SearchFloat64s(slice_1, f1)

    res2 := sort.SearchFloat64s(slice_2, f2)

    res3 := sort.SearchFloat64s(slice_2, f3)

  

    // Отображение результатов

    fmt.Println("Result 1: ", res1)

    fmt.Println("Result 2: ", res2)

    fmt.Println("Result 3: ", res3)

  
}

Выход:

Slice 1:  [10.2 34.67 45.667 79.1 655.45 768.8 34545.5]
Slice 2:  [10.7 45.8 56.78 67.89 89.4 345.6]
Result 1:  6
Result 2:  3
Result 3:  0

Пример 2:

// Перейти к программе, чтобы проиллюстрировать, как искать
// элемент типа float64 в срезе
// float64s
package main

  
import (

    "fmt"

    "sort"

)

  
// Основная функция
func main() {

  

    // Создание и поиск элемента

    // в данном фрагменте float64s

    // Использование функции SearchFloat64s

    res1 := sort.SearchFloat64s([]float64{23.4,

                        56.7, 90.7}, 56.7)

  

    res2 := sort.SearchFloat64s([]float64{10.2,

               13.90, 25.78, 38.90}, 10.2)

  

    // Отображение результатов

    fmt.Println("Result 1: ", res1)

    fmt.Println("Result 2: ", res2)

  
}

Выход:

Result 1:  1
Result 2:  0

Рекомендуемые посты:

Поиск элемента типа float64 в срезе Golang

0.00 (0%) 0 votes