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

دليل أساسي لـ Golang

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

الوظائف & الأساليب في Golang

المباني في Golang

قطع & مصفوفات Golang

النصوص (String) في Golang

مؤشرات Golang

واجهات Golang

Golang المتنافسة

استثناءات (Error) في Golang

متنوعات أخرى في Golang

تحويل الأنواع في Go

مقدمات، يجب أن تكون قد تعلمت:أنواع البيانات في Golang

عندما نقوم بتعيين قيمة نوع إلى نوع آخر، يحدث تحويل النوع. توفر لغات التجميع مثل C / C ++، Java دعمًا لتحويل النوع الضمني، ولكن Golang يختلف لأنه حتى إذا كانت الأنواع متوافقة،لا يدعمها أيضًاتحويل النوع التلقائي أو التحويل الضمنيسبب ذلك هو أن نظام الأنواع القوي لـ Golang لا يسمح بذلك. للتحويل، يجب إجراء تحويل صريح.

كيف يقوم Golang بتحويل الأنواع؟
إذا كنت بحاجة إلى استخدام خصائص بنية تدرج البيانات النوعية، فإنه يجب علينا تحويل الكيان من نوع إلى آخر. لتحويل القيمة val إلى نوع T، يتم استخدام النحو T(val).

var w3codebox1 int = 845
// تحويل نوع صريح
var w3codebox2 float64 = float64(w3codebox1)
var w3codebox3 int64 = int64(w3codebox1)
var w3codebox4 uint = uint(w3codebox1)
// حساب الوسطية
package main
import "fmt"
func main() {
    var totalsum int = 446
    var number int = 23
    var avg float32
    // تحويل نوع صريح
    avg = float32(totalsum) / float32(number)
    // عرض النتيجة
    fmt.Printf("الوسطية = %f\n", avg)
}

الإخراج:

الوسطية = 19.391304

ملاحظة:بسبب أن لدي Golang نظامًا قويًا للأنواع، لا يسمح باستخدام أنواع الرقم في التعبيرات (مثل الجمع، الطرح، الضرب، التقسيم وما إلى ذلك)، ولا يسمح بإجراء تخصيص الأنواع بين أنواع مختلطة.

var w3codebox1 int64 = 875
// سيقوم بإلقاء خطأ في وقت التجميع علينا
// لأننا نقوم بتنفيذ نوع مختلط، مثل استخدام int64 كنوع int
var w3codebox2 int = w3codebox1
var w3codebox3 int = 100
// يسبب خطأ في وقت التجميع
// هذه هي عملية غير صالحة
// لأن النوع هو المختلط int64 و int
var addition = w3codebox1 + w3codebox3