Mismo mensaje, nuevo enfoque Esencia igual, título nuevo Mismo mensaje, otra forma Idea original, título renovado Mensaje original, versión corta

Domina Go con el complemento bit a bit ^, el operador AND NOT &^ y el uso de ~ en genéricos desde Go 1.18; ejemplos de máscaras de permisos y consejos prácticos para evitar errores.

9 sept 2025 • 2 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

En Go existen operadores a nivel de bits y cambios en los genéricos que conviene dominar. Aquí explico de forma clara y práctica cómo funcionan el operador complemento bit a bit, el operador AND NOT y el uso del tilde en restricciones de genéricos desde Go 1.18 en adelante.

Operador complemento bit a bit ^: aplica la negación bit a bit sobre el valor. Por ejemplo, con x := 5 // 00000101 el complemento ^x produce 11111010 si se interpreta como byte. Interpretado como uint8 resultaría 250, y como int8 sería -6 debido al complemento a dos. Es importante recordar que el resultado depende del tipo subyacente y de si el tipo es firmado o no.

Operador AND NOT &^: se usa para borrar bits. Dos patrones comunes son flags |= mask para establecer bits y flags &^= mask para borrar bits. También se puede voltear todos los bits con flags = ^flags. Estas operaciones son útiles para controles de permisos, máscaras y manipulación eficiente de flags.

Ejemplo típico de máscaras de permisos: const ReadPermission = 1 << 0 // 00000001 const WritePermission = 1 << 1 // 00000010 para quitar WritePermission se puede usar allExceptWrite := ^WritePermission o más habitualmente flags &^= WritePermission según el caso.

Genéricos y el operador tilde ~: Go 1.18 introdujo genéricos y la posibilidad de usar restricciones que aceptan tipos cuyo tipo subyacente coincide con uno dado. Un ejemplo: func StrictDouble[T int](x T) T { return x * 2 } acepta solo el tipo exacto int, mientras que func FlexibleDouble[T ~int](x T) T { return x * 2 } acepta cualquier tipo cuyo tipo subyacente sea int, por ejemplo type MyInt int; var n MyInt = 5; FlexibleDouble(n) funciona pero StrictDouble(n) no. El tilde se conoce como constraint de aproximación y permite mayor flexibilidad con tipos definidos por el usuario.

Consejos prácticos: cuando manipules bits, confirma el tamaño y signo del tipo para evitar resultados inesperados. Con genéricos, usa ~ cuando quieras admitir tipos definidos por el usuario que compartan el mismo tipo subyacente y usa la forma sin tilde cuando necesites el tipo exacto.

En Q2BSTUDIO aplicamos buenas prácticas como estas en el desarrollo de soluciones reales. Si buscas software a medida o desarrollo de aplicaciones, contamos con experiencia en aplicaciones a medida y software a medida para empresas y proyectos de alta exigencia, descubre más sobre nuestro trabajo en desarrollo de aplicaciones a medida. También diseñamos e integramos soluciones de inteligencia artificial y agentes IA adaptados a procesos empresariales, conoce nuestras propuestas de inteligencia artificial en servicios de inteligencia artificial.

Ofrecemos además servicios en ciberseguridad, pentesting, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, automatización de procesos y más para ayudar a tu empresa a ser más eficiente y segura.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.