Estructuras de Control en Go
Las estructuras de control de Go están relacionadas con las de C pero difieren en aspectos importantes. No hay bucle do o while, sólo un for ligeramente generalizado; switch es más flexible; if y...
View ArticleLa funciones retornan multiples valores en Go
Una de las características inusuales de Go es que las funciones y métodos pueden devolver múltiples valores. Estea tecnica se puede utilizar para mejorar un par de modismos torpes en programas C:...
View Articlederive de Rust
Las macros derivadas o derive de Rust funcionan generando automáticamente código que implementa los rasgos especificados para una estructura de datos.Puede dejar que el compilador obtenga una serie de...
View ArticleDefault Methods en Rust
Los traits pueden implementar el comportamiento en términos de otros métodos de traits:trait Equals { fn equals(&self, other: &Self) -> bool; fn not_equals(&self, other: &Self)...
View ArticleLas funciones pueden nombrar sus variables de retorno en Go
A los "parámetros" de retorno o resultado de una función Go se les pueden dar nombres y usarse como variables regulares, al igual que los parámetros entrantes. Cuando se nombran, se inicializan con los...
View ArticleDefer en Go
La declaración de Defer de Go programa una llamada a una función para que se ejecute inmediatamente antes de que regrese el flujo de control. Es una forma inusual pero efectiva de lidiar con...
View ArticleTrait Bounds en Rust
Cuando se trabaja con genéricos, a menudo se puede solicitar que los tipos implementen algún Trait, de modo que pueda llamar a los métodos de este Trait.Puedes hacer esto con T: Trait o impl Trait:fn...
View Articleimpl Trait en rust
De manera similar a trait bounds, se puede usar una sintaxis de trait implícita en argumentos de funciones y valores de retorno:use std::fmt::Display;fn get_x(name: impl Display) -> impl Display {...
View ArticleAsignación con new en Go
Go tiene dos primitivas de asignación de memoria, las funciones integradas new y make. Hacen cosas diferentes y se aplican a diferentes tipos, lo que puede resultar confuso, pero las reglas son...
View ArticleConstructores y literales compuestos
A veces el valor cero no es suficiente y es necesario un constructor de inicialización, como en este ejemplo derivado del paquete os.func NewFile(fd int, name string) *File { if fd < 0 {...
View ArticleArrays en Go
Los arrays son útiles al planificar el diseño detallado de la memoria y, a veces, pueden ayudar a evitar la asignación, pero principalmente son un bloque de construcción para los slice.Existen grandes...
View ArticleTest en Go
Go ofrece soporte integrado para pruebas unitarias que hace que sea más fácil realizar pruebas sobre la marcha. Específicamente, utilizando las convenciones de nomenclatura, el paquete de pruebas de Go...
View ArticleIterators en Rust
Puede implementar el trait Iterador en nuestros tipos :struct Fibonacci { curr: u32, next: u32,}impl Iterator for Fibonacci { type Item = u32; fn next(&mut self) ->...
View ArticleAsignación de memoria con make en Go
La función make(T, args) tiene un propósito diferente al de new(T). Crea únicamente slices, maps, y channels y devuelve un valor inicializado (no puesto a cero) de tipo T (no *T). El motivo de la...
View ArticleFromIterator de Rust
FromIterator te permite crear una colección a partir de un Iterador.fn main() { let primes = vec![2, 3, 5, 7]; let prime_squares = primes .into_iter() .map(|prime| prime * prime)...
View ArticleFrom y Into de Rust
Los tipos implementan From y Into facilitan las conversiones de tipos:fn main() { let s = String::from("hello"); let addr = std::net::Ipv4Addr::from([127, 0, 0, 1]); let one =...
View ArticleFunción map en lisp
Vamos a hacer una función transformar o map en lisp que lo que haga es tome una lista y una función y aplique esa función a cada elemento de la lista. Para esto vamos a analizar los casos si la lista...
View ArticleSlices en golang
Los Slices envuelven matrices para brindar una interfaz más general, poderosa y conveniente para secuencias de datos. Excepto por elementos con dimensiones explícitas, como matrices de transformación,...
View ArticleRead y Write en Rust
Usando Read y BufRead, nos podemos abstraer a un vector de u8use std::io::{BufRead, BufReader, Read, Result};fn count_lines<R: Read>(reader: R) -> usize { let buf_reader =...
View Article
More Pages to Explore .....