DEV Community

Nozibul Islam
Nozibul Islam

Posted on

Type Casting vs Type Conversion

Type Casting vs Type Conversion

In programming languages, it is often necessary to change the value of one data type to another.
Two common terms are used for this transformation:

  1. Type Casting
  2. Type Conversion

Type Casting:

Type Casting is a process where a data type is forcibly converted to another data type, even if the types are not fully compatible with each other.

šŸ”¹ How it works:

  • The compiler or interpreter assumes that you know what you are doing.
  • It can be unsafe because incorrect type casting can introduce bugs or cause the program to crash.

šŸ”¹ Where it is used:

  • Type casting is common in languages like C/C++, Java, and others.

šŸ”¹ Example (C/C++):

int x = 10;  
float y = (float)x;  // Type casting - forcibly converting int to float
Enter fullscreen mode Exit fullscreen mode

Type Conversion:

Type Conversion is a process where a data type is safely converted to another type. This can be either Implicit (automatic) or Explicit (manual).

šŸ”¹ Implicit Conversion (Automatic):

  • The compiler automatically and safely converts the type.
  • Languages like C/C++ and Java support this kind of conversion.

šŸ”¹ Explicit Conversion (Manual):

  • The programmer must explicitly perform the type conversion.
  • In Golang, only explicit type conversion is allowed.

šŸ”¹ Example (Golang):

var x int = 10  
var y float64 = float64(x)  // Type conversion - safely converting int to float 
Enter fullscreen mode Exit fullscreen mode

In Summary:

  • Type Casting ā†’ Forcibly changes data types (Unsafe, not available in Golang)
  • Type Conversion ā†’ Safely changes data types (Explicit in Golang)

Golang avoids bugs through type conversion, keeping the code simple and
reliable.

Top comments (0)