Go Language for Java Developers Part 3

Data types in Go vs Java

Share on:  
                 

alt

Java Language: Data Type

In Java, We have premitive data types and objects. Java support 8 premitive data types for different purpose.

Data Type Value byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char ‘\u0000’ boolean false

Reference: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

Go Language: Type

Go language is statically typed programming language. It means that variable always has specific type that can’t be changed. Go language data type can be divided in main three categories.

  1. Boolean: A boolean type represents the set of Boolean truth values denoted by the predeclared constants true and false. The predeclared boolean type is bool.
  2. Numeric: A numeric type represents sets of integer or floating-point values. The predeclared architecture-independent numeric types are: int, float32, float64, etc
  3. String: A string type represents the set of string values. A string value is a (possibly empty) sequence of bytes. Strings are immutable: once created, it is impossible to change the contents of a string. The predeclared string type is string.

Data Type Default Value Range

bool false true or false

int 0 either int32 or int64

int8 0 signed 16-bit integers (-32768 to 32767)

int16 0 signed 16-bit integers (-32768 to 32767)

int32 0 signed 32-bit integers (-2147483648 to 2147483647)

int64 0 signed 64-bit integers (-9223372036854775808 to 9223372036854775807)

uint 0 either 32 or 64 bits

uint8 0 unsigned 8-bit integers (0 to 255)

uint16 0 unsigned 16-bit integers (0 to 65535)

uint32 0 unsigned 32-bit integers (0 to 4294967295)

uint64 0 unsigned 64-bit integers (0 to 18446744073709551615)

float32 0 IEEE-754 32-bit floating-point numbers

float64 0 IEEE-754 64-bit floating-point numbers string

Reference: https://golang.org/ref/spec#Types

Tags:   GOGO LANG