English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
no Go, fatias são mais poderosas, flexíveis, convenientes e leves do que arrays. Fatias são sequências de comprimento variável usadas para armazenar elementos do mesmo tipo, não permitindo que diferentes tipos de elementos sejam armazenados na mesma fatia. Em fatias de Go, você pode usarCompare()a função compara fatias de tipos de bytescomparação。Esta função retorna um valor inteiro que representa se essas fatias são iguais ou diferentes, e esses valores são:
se o resultado for 0, então fatia_1 == fatia_2。
se o resultado for-1,então fatia_1 <fatia_2。
se o resultado for+1,então fatia_1> fatia_2。
esta função está definida na pasta bytes, portanto, você deve importar o pacote bytes no seu programa para acessar a função Compare.
sintaxe:
func Compare(fatia_1, fatia_2 []byte) int
vamos discutir este conceito com um exemplo:
//comparar duas fatias de bytes package main import ( "bytes" "fmt" ) func main() { //usar declaração abreviada para criar e inicializar fatia de bytes fatia_1 := []byte{'G', 'E', 'E', 'K', 'S'} fatia_2 := []byte{'G', 'E', 'e', 'K', 'S'} //comparar fatias //usar função Compare res := bytes.Compare(fatia_1, fatia_2) if res == 0 { fmt.Println("!..as fatias são iguais..!") } else { fmt.Println("!..as fatias não são iguais..!") } }
saída:
!..as fatias não são iguais..!
comparar duas fatias de bytes exemplo:
package main import ( "bytes" "fmt" ) func main() { fatia_1 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'} fatia_2 := []byte{'a', 'g', 't', 'e', 'q', 'm'} fatia_3 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'} fatia_4 := []byte{'A', 'n', 'M', 'o', 'p', 'Q'} //exibir fatia fmt.Println("fatia", 1: ", fatia_1) fmt.Println("fatia", 2: ", fatia_2) fmt.Println("fatia", 3: ", fatia_3) fmt.Println("fatia", 4: ", fatia_4) //comparar fatias, usando Compare res1 := bytes.Compare(fatia_1, fatia_2) res2 := bytes.Compare(fatia_1, fatia_3) res3 := bytes.Compare(fatia_1, fatia_4) res4 := bytes.Compare(fatia_2, fatia_3) res5 := bytes.Compare(fatia_2, fatia_4) res6 := bytes.Compare(fatia_2, fatia_1) res7 := bytes.Compare(fatia_3, fatia_1) res8 := bytes.Compare(fatia_3, fatia_2) res9 := bytes.Compare(fatia_3, fatia_4) res10 := bytes.Compare(fatia_4, fatia_1) res11 := bytes.Compare(fatia_4, fatia_2) res12 := bytes.Compare(fatia_4, fatia_3) res13 := bytes.Compare(fatia_4, fatia_4) fmt.Println("\nresultado", 1:", res1) fmt.Println("resultado", 2:", res2) fmt.Println("resultado", 3:", res3) fmt.Println("resultado", 4:", res4) fmt.Println("resultado", 5:", res5) fmt.Println("resultado", 6:", res6) fmt.Println("resultado", 7:", res7) fmt.Println("resultado", 8:", res8) fmt.Println("resultado", 9:", res9) fmt.Println("resultado", 10:", res10) fmt.Println("resultado", 11:", res11) fmt.Println("resultado", 12:", res12) fmt.Println("resultado", 13:", res13) }
saída:
fatia 1: [65 78 77 79 80 81] fatia 2: [97 103 116 101 113 109] fatia 3: [65 78 77 79 80 81] fatia 4: [65 110 77 111 112 81] Resultados 1: -1 Resultados 2: 0 Resultados 3: -1 Resultados 4: 1 Resultados 5: 1 Resultados 6: 1 Resultados 7: 0 Resultados 8: -1 Resultados 9: -1 Resultados 10: 1 Resultados 11: -1 Resultados 12: 1 Resultados 13: 0