En aquest tema, explorarem els tipus de dades i les variables en F#. Aprendrem com declarar variables, els diferents tipus de dades disponibles i com treballar amb ells. Aquest és un concepte fonamental que ens ajudarà a construir programes més complexos en els següents mòduls.
Contingut
Declaració de Variables
En F#, les variables es poden declarar utilitzant la paraula clau let
. Les variables en F# són immutables per defecte, el que significa que no es poden canviar després de ser assignades. Si necessitem una variable mutable, podem utilitzar la paraula clau mutable
.
Exemple de Declaració de Variables
// Variable immutable let x = 10 // Variable mutable let mutable y = 20 y <- 30 // Assignació d'un nou valor a una variable mutable
Explicació
let x = 10
: Declara una variable immutablex
amb el valor10
.let mutable y = 20
: Declara una variable mutabley
amb el valor20
.y <- 30
: Assigna un nou valor30
a la variable mutabley
.
Tipus de Dades Bàsics
F# suporta diversos tipus de dades bàsics, incloent:
- Enter (int): Nombres enters.
- Coma flotant (float): Nombres amb decimals.
- Caràcter (char): Un sol caràcter.
- Cadena (string): Una seqüència de caràcters.
- Booleà (bool): Valors
true
ofalse
.
Exemple de Tipus de Dades Bàsics
let a = 42 // int let b = 3.14 // float let c = 'F' // char let d = "Hello" // string let e = true // bool
Explicació
let a = 42
: Declara una variablea
de tipusint
.let b = 3.14
: Declara una variableb
de tipusfloat
.let c = 'F'
: Declara una variablec
de tipuschar
.let d = "Hello"
: Declara una variabled
de tipusstring
.let e = true
: Declara una variablee
de tipusbool
.
Tipus de Dades Compostos
F# també suporta tipus de dades compostos com tuples, llistes, matrius i registres.
Tuples
Un tuple és una col·lecció de valors de diferents tipus.
Llistes
Una llista és una col·lecció de valors del mateix tipus.
Matrius
Una matriu és una col·lecció de valors del mateix tipus amb accés ràpid per índex.
Registres
Un registre és una col·lecció de camps amb noms.
Conversió de Tipus
De vegades, necessitem convertir un valor d'un tipus a un altre. F# proporciona funcions de conversió per a aquest propòsit.
Exemple de Conversió de Tipus
let intToFloat = float 10 // Converteix int a float let floatToInt = int 3.14 // Converteix float a int let stringToInt = int "42" // Converteix string a int let intToString = string 42 // Converteix int a string
Explicació
float 10
: Converteix l'enter10
a un nombre de coma flotant.int 3.14
: Converteix el nombre de coma flotant3.14
a un enter.int "42"
: Converteix la cadena"42"
a un enter.string 42
: Converteix l'enter42
a una cadena.
Exercicis Pràctics
Exercici 1
Declara una variable immutable z
amb el valor 100
i una variable mutable w
amb el valor 200
. Canvia el valor de w
a 300
.
Solució
Exercici 2
Declara una llista de nombres enters [10; 20; 30; 40; 50]
i una matriu de caràcters ['a'; 'b'; 'c']
.
Solució
Exercici 3
Converteix l'enter 25
a una cadena i la cadena "3.14"
a un nombre de coma flotant.
Solució
Conclusió
En aquesta secció, hem après sobre els tipus de dades i les variables en F#. Hem vist com declarar variables, els diferents tipus de dades bàsics i compostos, i com convertir entre diferents tipus de dades. Aquests conceptes són fonamentals per a la programació en F# i ens preparen per a temes més avançats en els següents mòduls.
Curs de Programació en F#
Mòdul 1: Introducció a F#
Mòdul 2: Conceptes Bàsics
- Tipus de Dades i Variables
- Funcions i Immutabilitat
- Coincidència de Patrons
- Col·leccions: Llistes, Matrius i Seqüències
Mòdul 3: Programació Funcional
Mòdul 4: Estructures de Dades Avançades
Mòdul 5: Programació Orientada a Objectes en F#
- Classes i Objectes
- Herència i Interfícies
- Barreja de Programació Funcional i Orientada a Objectes
- Mòduls i Espais de Noms
Mòdul 6: Programació Asíncrona i Paral·lela
- Fluxos de Treball Asíncrons
- Biblioteca de Tasques Paral·leles
- MailboxProcessor i Agents
- Patrons de Concurrència
Mòdul 7: Accés i Manipulació de Dades
Mòdul 8: Proves i Depuració
- Proves Unitàries amb NUnit
- Proves Basades en Propietats amb FsCheck
- Tècniques de Depuració
- Perfilat de Rendiment