Buscando un elemento de tipo float64 en Golang slice

El segmento de lenguaje In Go es más poderoso, flexible y conveniente que una array, y es una estructura de datos liviana. El segmento es una secuencia de longitud variable que almacena elementos de un tipo similar, no está permitido almacenar diferentes tipos de elementos en el mismo segmento.
En el segmento Go, puede buscar un elemento de tipo float64 en el segmento dado de float64s con la ayuda de la función SearchFloat64s() . Esta función busca el elemento dado en una porción ordenada de float64s y devuelve el índice de ese elemento si está presente en la porción dada. Y si el elemento dado no está disponible en el segmento (podría ser len(s_slice)), luego devuelve el índice para insertar el elemento en el segmento. El segmento especificado debe ordenarse en orden ascendente. Se define en el paquete de clasificación, por lo que debe importar el paquete de clasificación en su programa para acceder a la función SearchFloat64s .

Sintaxis:

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

Ejemplo 1:

// Go program to illustrate how to search an 
// element float64 type in the slice of float64s
package main
  
import (
    "fmt"
    "sort"
)
  
// Main function
func main() {
  
    // Creating and initializing
    // slice of Float64s
    // Using shorthand declaration
    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
  
    // Sorting the given slice of Float64s
    sort.Float64s(slice_1)
    sort.Float64s(slice_2)
  
    // Displaying the slices
    fmt.Println("Slice 1: ", slice_1)
    fmt.Println("Slice 2: ", slice_2)
  
    // Searching an element of float64
    // in the given slice
    // Using SearchFloat64s function
    res1 := sort.SearchFloat64s(slice_1, f1)
    res2 := sort.SearchFloat64s(slice_2, f2)
    res3 := sort.SearchFloat64s(slice_2, f3)
  
    // Displaying the results
    fmt.Println("Result 1: ", res1)
    fmt.Println("Result 2: ", res2)
    fmt.Println("Result 3: ", res3)
  
}

Producción:

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

Ejemplo 2:

// Go program to illustrate how to search an
// element of float64 type in the slice of
// float64s
package main
  
import (
    "fmt"
    "sort"
)
  
// Main function
func main() {
  
    // Creating and searching an element
    // in the given slice of float64s
    // Using SearchFloat64s function
    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)
  
    // Displaying the results
    fmt.Println("Result 1: ", res1)
    fmt.Println("Result 2: ", res2)
  
}

Producción:

Result 1:  1
Result 2:  0

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *