{"id":115,"date":"2023-03-31T04:16:28","date_gmt":"2023-03-31T04:16:28","guid":{"rendered":"https:\/\/canessaalvamiguel.dev\/?p=115"},"modified":"2023-03-31T04:17:22","modified_gmt":"2023-03-31T04:17:22","slug":"scala-keywords-val-var-def-lazy-val","status":"publish","type":"post","link":"https:\/\/canessaalvamiguel.dev\/index.php\/2023\/03\/31\/scala-keywords-val-var-def-lazy-val\/","title":{"rendered":"Scala keywords: val, var, def, lazy val"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><code>val<\/code><\/h2>\n\n\n\n<p>La palabra reservada <code>val<\/code> se utiliza para declarar valores inmutables. Una vez que se asigna un valor a una variable <code>val<\/code>, no se puede cambiar. Es similar a una constante en otros lenguajes de programa<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: scala; title: ; notranslate\" title=\"\">\nval x = 5\n<\/pre><\/div>\n\n\n<p>En el ejemplo anterior, se crea una variable <code>x<\/code> con un valor inicial de <code>5<\/code>. Como se trata de una variable <code>val<\/code>, no se puede cambiar posteriormente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><code>var<\/code><\/h2>\n\n\n\n<p>La palabra reservada <code>var<\/code> se utiliza para declarar variables mutables. Una vez que se asigna un valor a una variable <code>var<\/code>, se puede cambiar en cualquier momento.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: scala; title: ; notranslate\" title=\"\">\nvar x = 5\nx = 10\n<\/pre><\/div>\n\n\n<p>En el ejemplo anterior, se crea una variable <code>x<\/code> con un valor inicial de <code>5<\/code>. Luego, se cambia su valor a <code>10<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><code>def<\/code><\/h2>\n\n\n\n<p>La palabra reservada <code>def<\/code> se utiliza para definir funciones. Las funciones son bloques de c\u00f3digo que se pueden llamar con diferentes argumentos. La sintaxis general de una funci\u00f3n es la siguiente:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: scala; title: ; notranslate\" title=\"\">\ndef functionName(arg1: type, arg2: type, ...): returnType = {\n  \/\/ Cuerpo de la funci\u00f3n\n}\n\n<\/pre><\/div>\n\n\n<p>Por ejemplo, la siguiente funci\u00f3n toma dos argumentos enteros y devuelve su suma:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: scala; title: ; notranslate\" title=\"\">\ndef sum(a: Int, b: Int): Int = {\n  a + b\n}\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\"><code>lazy val<\/code><\/h2>\n\n\n\n<p>La palabra reservada <code>lazy val<\/code> se utiliza para declarar valores perezosos (lazy). Esto significa que el valor se calcular\u00e1 solo cuando se acceda a \u00e9l por primera vez. Los valores perezosos son \u00fatiles cuando el c\u00e1lculo del valor puede ser costoso y no se necesita inmediatamente.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: scala; title: ; notranslate\" title=\"\">\nlazy val x = {\n  println(&quot;Calculando el valor de x&quot;)\n  5\n}\n<\/pre><\/div>\n\n\n<p>En el ejemplo anterior, se declara una variable <code>x<\/code> que se calcula perezosamente. La primera vez que se accede a la variable <code>x<\/code>, se imprimir\u00e1 &#8220;Calculando el valor de x&#8221; y se calcular\u00e1 el valor <code>5<\/code>. Si se accede a la variable <code>x<\/code> nuevamente, el valor calculado anteriormente se devolver\u00e1 sin volver a calcularlo.<\/p>\n\n\n\n<p>En resumen, las palabras reservadas <code>val<\/code>, <code>var<\/code>, <code>def<\/code> y <code>lazy val<\/code> se utilizan para declarar valores inmutables, variables mutables, funciones y valores perezosos respectivamente en Scala. Es importante entender la diferencia entre estos tipos de variables y c\u00f3mo se pueden utilizar para escribir un c\u00f3digo Scala claro y conciso.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>val La palabra reservada val se utiliza para declarar valores inmutables. Una vez que se asigna un valor<\/p>\n","protected":false},"author":1,"featured_media":62,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[21,18,22,8,19,20],"class_list":["post-115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scala","tag-def","tag-keywords","tag-lazy-val","tag-scala","tag-val","tag-var"],"_links":{"self":[{"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/posts\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/comments?post=115"}],"version-history":[{"count":2,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/posts\/115\/revisions"}],"predecessor-version":[{"id":117,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/posts\/115\/revisions\/117"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/media\/62"}],"wp:attachment":[{"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/media?parent=115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/categories?post=115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/canessaalvamiguel.dev\/index.php\/wp-json\/wp\/v2\/tags?post=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}