En aquest tema, explorarem els diferents tipus de dades disponibles en Go. Els tipus de dades són fonamentals per a qualsevol llenguatge de programació, ja que defineixen la naturalesa de les dades que es poden emmagatzemar i manipular en un programa. Go ofereix una varietat de tipus de dades que podem utilitzar per a diferents propòsits.

Tipus de Dades Bàsics

  1. Tipus Numèrics

a. Enters

Els enters són nombres sense part decimal. Go proporciona diversos tipus d'enters, depenent de la mida i el signe.

  • int: Depèn de l'arquitectura (32 o 64 bits).

  • int8: Enters de 8 bits amb signe (rang: -128 a 127).

  • int16: Enters de 16 bits amb signe (rang: -32768 a 32767).

  • int32: Enters de 32 bits amb signe (rang: -2147483648 a 2147483647).

  • int64: Enters de 64 bits amb signe (rang: -9223372036854775808 a 9223372036854775807).

  • uint: Depèn de l'arquitectura (32 o 64 bits).

  • uint8: Enters de 8 bits sense signe (rang: 0 a 255).

  • uint16: Enters de 16 bits sense signe (rang: 0 a 65535).

  • uint32: Enters de 32 bits sense signe (rang: 0 a 4294967295).

  • uint64: Enters de 64 bits sense signe (rang: 0 a 18446744073709551615).

b. Nombres de Punt Flotant

Els nombres de punt flotant són nombres amb part decimal.

  • float32: Nombres de punt flotant de 32 bits.
  • float64: Nombres de punt flotant de 64 bits.

c. Complexos

Els nombres complexos tenen una part real i una part imaginària.

  • complex64: Nombres complexos amb parts real i imaginària de 32 bits.
  • complex128: Nombres complexos amb parts real i imaginària de 64 bits.

  1. Tipus de Caràcters i Text

a. Caràcters

Els caràcters en Go es representen amb el tipus rune, que és un alias per a int32.

var char rune = 'a'

b. Cadenes

Les cadenes són seqüències de caràcters.

var str string = "Hola, món!"

  1. Tipus Booleans

Els valors booleans poden ser true o false.

var isTrue bool = true

Tipus de Dades Compostos

  1. Arrays

Els arrays són col·leccions de valors del mateix tipus amb una mida fixa.

var arr [5]int = [5]int{1, 2, 3, 4, 5}

  1. Slices

Els slices són col·leccions de valors del mateix tipus amb una mida dinàmica.

var slice []int = []int{1, 2, 3, 4, 5}

  1. Maps

Els maps són col·leccions de parelles clau-valor.

var m map[string]int = map[string]int{"one": 1, "two": 2}

  1. Structs

Els structs són col·leccions de camps amb tipus diferents.

type Person struct {
    Name string
    Age  int
}

var p Person = Person{Name: "John", Age: 30}

Conversió de Tipus

En Go, la conversió de tipus es fa explícitament. Aquí teniu alguns exemples:

var i int = 42
var f float64 = float64(i)
var u uint = uint(f)

Exercicis Pràctics

Exercici 1: Declaració de Variables

Declara variables dels següents tipus i assigna'ls valors:

  1. int
  2. float64
  3. string
  4. bool

Solució

var i int = 10
var f float64 = 20.5
var s string = "Hola, Go!"
var b bool = true

Exercici 2: Arrays i Slices

Crea un array de 5 enters i un slice de 3 cadenes.

Solució

var arr [5]int = [5]int{1, 2, 3, 4, 5}
var slice []string = []string{"Go", "és", "genial"}

Exercici 3: Maps i Structs

Crea un map que associï noms de persones amb les seves edats i un struct per representar una persona amb nom i edat.

Solució

var m map[string]int = map[string]int{"Alice": 25, "Bob": 30}

type Person struct {
    Name string
    Age  int
}

var p Person = Person{Name: "Charlie", Age: 35}

Resum

En aquest tema, hem explorat els diferents tipus de dades disponibles en Go, incloent-hi tipus bàsics com enters, nombres de punt flotant, caràcters, cadenes i booleans, així com tipus compostos com arrays, slices, maps i structs. També hem vist com fer conversions de tipus i hem practicat amb alguns exercicis. Amb aquest coneixement, estàs preparat per manipular dades de manera efectiva en els teus programes Go.

© Copyright 2024. Tots els drets reservats