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

دليل أساسي Golang

تعليمات التحكم في Golang

دوال وكائنات Golang

هيكل Golang

شقوق وكوائنات Golang & جداول

شقوق وكوائنات Golang (String)

مراجع Golang

واجهات Golang

المساعي في Golang

استثنائات Golang (Error)

متنوعة أخرى من Golang

مقارنة القطعة بلغة Go

في لغة Go، الشقوق أكثر قوة وسهولة وسهولة وسهولة من الجداول، وهي بنية بيانات خفيفة. الشقوق هي سلسلة قابلة للتغيير الطول، تستخدم لتخزين عناصر نوعية متشابهة، وليس مسموحاً بتخزين أنواع مختلفة في نفس الشقوق. يمكن استخدام الشقوق في GoCompare()يقوم الدالة بمقارنة شقوق نوعية ثنائية مع بعضها البعضمقارنةهذا الدالة تعود قيمة عددية كاملة، والقيمة العددية تعبر عن ما إذا كانت الشقوق متساوية أو غير متساوية، وهي كما يلي:

  • إذا كان الناتج 0، فإن slice_1 == slice_2.

  • إذا كان الناتج -1، فإن slice_1 < slice_2.

  • إذا كان الناتج +1، فإن slice_1 > slice_2.

هذه الدالة معرفة في مكتبة bytes، لذا يجب عليك إدخال مكتبة bytes في برنامجك حتى تستطيع الوصول إلى دالة Compare.

القواعد:

func Compare(slice_1, slice_2 []byte) int

دعونا نستفيد من المثال لنتبه لهذا المفهوم:

//مقارنة شريطين من الثنائيات
package main
import (
    "bytes"
    "fmt"
)
func main() {
    //استخدام التعبير القصير لتكوين وتثبيت قطعة الثنائيات
    slice_1 := []byte{'G', 'E', 'E', 'K', 'S'}
    slice_2 := []byte{'G', 'E', 'e', 'K', 'S'}
    //مقارنة الشريط
    //استخدام دالة Compare
    res := bytes.Compare(slice_1, slice_2)
    if res == 0 {
        fmt.Println("!..المسقططان متطابقين..!")
    } else {
        fmt.Println("!..المسقططان غير متطابقين..!")
    }
}

الخروج:

!..المسقططان غير متطابقين..!

مقارنة شريطين من الثنائيات مثال:

package main
import (
    "bytes"
    "fmt"
)
func main() {
    slice_1 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'}
    slice_2 := []byte{'a', 'g', 't', 'e', 'q', 'm'}
    slice_3 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'}
    slice_4 := []byte{'A', 'n', 'M', 'o', 'p', 'Q'}
    //显示切片
    fmt.Println("切片 1: ", slice_1)
    fmt.Println("切片 2: ", slice_2)
    fmt.Println("切片 3: ", slice_3)
    fmt.Println("切片 4: ", slice_4)
    //比较切片,使用Compare
    res1 := bytes.Compare(slice_1, slice_2)
    res2 := bytes.Compare(slice_1, slice_3)
    res3 := bytes.Compare(slice_1, slice_4)
    res4 := bytes.Compare(slice_2, slice_3)
    res5 := bytes.Compare(slice_2, slice_4)
    res6 := bytes.Compare(slice_2, slice_1)
    res7 := bytes.Compare(slice_3, slice_1)
    res8 := bytes.Compare(slice_3, slice_2)
    res9 := bytes.Compare(slice_3, slice_4)
    res10 := bytes.Compare(slice_4, slice_1)
    res11 := bytes.Compare(slice_4, slice_2)
    res12 := bytes.Compare(slice_4, slice_3)
    res13 := bytes.Compare(slice_4, slice_4)
    fmt.Println("\nالنتيجة 1:", res1)
    fmt.Println("النتيجة 2:", res2)
    fmt.Println("النتيجة 3:", res3)
    fmt.Println("النتيجة 4:", res4)
    fmt.Println("النتيجة 5:", res5)
    fmt.Println("النتيجة 6:", res6)
    fmt.Println("النتيجة 7:", res7)
    fmt.Println("النتيجة 8:", res8)
    fmt.Println("النتيجة 9:", res9)
    fmt.Println("النتيجة 10:", res10)
    fmt.Println("النتيجة 11:", res11)
    fmt.Println("النتيجة 12:", res12)
    fmt.Println("النتيجة 13:", res13)
}

الخروج:

قطعة 1: [65 78 77 79 80 81]
قطعة 2: [97 103 116 101 113 109]
قطعة 3: [65 78 77 79 80 81]
قطعة 4: [65 110 77 111 112 81]
النتيجة 1: -1
النتيجة 2: 0
النتيجة 3: -1
النتيجة 4: 1
النتيجة 5: 1
النتيجة 6: 1
النتيجة 7: 0
النتيجة 8: -1
النتيجة 9: -1
النتيجة 10: 1
النتيجة 11: -1
النتيجة 12: 1
النتيجة 13: 0