{"id":168367,"date":"2026-04-11T11:12:10","date_gmt":"2026-04-11T09:12:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si"},"modified":"2026-04-11T11:12:10","modified_gmt":"2026-04-11T09:12:10","slug":"solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","title":{"rendered":"Solod \u2014 um subconjunto da linguagem Go, transpilado para a linguagem C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/antonz.org\/solod\">Apresentado<\/a> linguagem de programa\u00e7\u00e3o <a rel=\"nofollow\" href=\"https:\/\/solod.dev\">Solod (So)<\/a>, que fornece um subconjunto da linguagem Go, transcompil\u00e1vel para uma representa\u00e7\u00e3o em linguagem C (C11), adequada para compila\u00e7\u00e3o por compiladores GCC, Clang e zig cc. A principal diferen\u00e7a do Solod em rela\u00e7\u00e3o ao Go \u00e9 o uso de gerenciamento manual de mem\u00f3ria, funcionando sem coletor de lixo, sem aloca\u00e7\u00e3o autom\u00e1tica de mem\u00f3ria e sem contagem de refer\u00eancias. O transpilador para Solod \u00e9 escrito em Go e <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\">\u00e9 distribu\u00eddo<\/a> sob a licen\u00e7a BSD. Suporta opera\u00e7\u00f5es em Linux, macOS e Windows.<\/p>\n<p><\/noindex><\/noindex> <noindex><\/p>\n<p>A linguagem suporta estruturas, m\u00e9todos, interfaces, slices, retorno de fun\u00e7\u00f5es com m\u00faltiplos valores (por exemplo, resultado + c\u00f3digo de erro), <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/generics.md\">gen\u00e9ricos<\/a> e chamadas adiadas (<a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/spec.md#defer\">defer<\/a>). Para simplificar, o idioma n\u00e3o suporta canais, corrotinas e closures. Ao desenvolver na linguagem Solod, podem ser utilizados servidores LSP existentes, linters, ambientes de desenvolvimento integrados e editores de c\u00f3digo que suportam a linguagem Go, assim como a ferramenta \u00abgo test\u00bb.<\/p>\n<p><\/noindex> <\/p>\n<p>O c\u00f3digo escrito em Solod pode ser integrado a aplicativos em linguagem C (a linguagem C pode chamar fun\u00e7\u00f5es em Solod e vice-versa) e n\u00e3o requer runtime. As principais \u00e1reas de aplica\u00e7\u00e3o incluem programa\u00e7\u00e3o de sistemas com possibilidades pr\u00f3ximas ao C, mas com uma sintaxe estilo Go e garantia de verifica\u00e7\u00e3o de tipos. Solod tamb\u00e9m pode ser usado para portar bibliotecas Go para uso em projetos em C. Pacotes Go portados para a linguagem C incluem:<\/p>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/antonz.org\/porting-go-strings\">strings<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/antonz.org\/porting-go-io\">io (antonz.org)<\/a><\/li>\n<li>bytes<\/li>\n<li>mem<\/li>\n<li>slices<\/li>\n<\/ul>\n<p> <noindex><\/p>\n<p>e <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/tree\/main\/so\">etc.<\/a> Al\u00e9m de <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/stdlib.md\">um conjunto<\/a> as bibliotecas Go portadas podem ser utilizadas em programas escritos em Solod <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/tree\/main\/so\/c\">wrappers<\/a> sobre a biblioteca padr\u00e3o C libc.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Por padr\u00e3o, toda a mem\u00f3ria \u00e9 alocada na pilha, mas atrav\u00e9s das fun\u00e7\u00f5es <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/stdlib.md#somem\">Alloc \/ Free<\/a> da biblioteca padr\u00e3o, \u00e9 poss\u00edvel alocar mem\u00f3ria na heap. A coleta de lixo e a contagem de refer\u00eancias n\u00e3o s\u00e3o usadas, mas em Solod s\u00e3o fornecidas capacidades para verifica\u00e7\u00e3o de tipos e falhas em caso de acesso fora dos limites do array. No entanto, n\u00e3o s\u00e3o realizadas verifica\u00e7\u00f5es para evitar ponteiros pendentes (dangling pointers) e a falta de libera\u00e7\u00e3o de mem\u00f3ria. O principal m\u00e9todo para detectar problemas com a mem\u00f3ria \u00e9 citada a utiliza\u00e7\u00e3o do AddressSanitizer -fsanitize=address em compiladores modernos.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Em termos de desempenho, programas compilados em Solod s\u00e3o na maioria das vezes <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/bench\/README.md\">mais r\u00e1pidos<\/a> do que programas em Go:<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li>O desempenho das fun\u00e7\u00f5es do pacote Byte \u00e9 1,5 vezes mais r\u00e1pido com o mesmo consumo de mem\u00f3ria;<\/li>\n<li>O trabalho com buffers de bytes \u00e9 1,3 vezes mais r\u00e1pido na leitura e de 2 a 4 vezes na grava\u00e7\u00e3o;<\/li>\n<li>No pacote Map, a busca por chave inteira \u00e9 3,4 vezes mais r\u00e1pida, mas a modifica\u00e7\u00e3o das chaves \u00e9 1,6 vezes mais lenta;<\/li>\n<li>A busca por chaves de string est\u00e1 no mesmo n\u00edvel da linguagem Go, mas a modifica\u00e7\u00e3o \u00e9 1,5 vezes mais lenta;<\/li>\n<li>A an\u00e1lise e formata\u00e7\u00e3o de n\u00fameros inteiros s\u00e3o duas vezes mais r\u00e1pidas, enquanto com ponto flutuante \u2014 de 1,5 a 1,2 vezes mais r\u00e1pidas;<\/li>\n<li>As fun\u00e7\u00f5es de string s\u00e3o 1,3 vezes mais r\u00e1pidas, e a cria\u00e7\u00e3o de strings \u00e9 2 a 4 vezes mais r\u00e1pida com uma redu\u00e7\u00e3o no consumo de mem\u00f3ria de 10 a 20%.<\/li>\n<\/ul>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/18263523\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go, \u0442\u0440\u0430\u043d\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 (C11), \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0435 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430\u043c\u0438 GCC, Clang \u0438 zig cc. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435\u043c Solod \u043e\u0442 Go \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0431\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430, \u0431\u0435\u0437 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0431\u0435\u0437 \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u0441\u0441\u044b\u043b\u043e\u043a. \u0422\u0440\u0430\u043d\u0441\u043f\u0430\u0439\u043b\u0435\u0440 \u0434\u043b\u044f Solod \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-168367","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Solod \u2014 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 \u044f\u0437\u044b\u043a \u0421\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-04-11T09:12:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-04-11T09:12:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Solod \u2014 um subconjunto da linguagem Go, traduzido para a linguagem C | ProHoster","description":"Foi apresentado a linguagem de programa\u00e7\u00e3o Solod (So), que oferece um subconjunto da linguagem Go.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Solod \u2014 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 \u044f\u0437\u044b\u043a \u0421\u0438 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-04-11T09:12:10+00:00","article:modified_time":"2026-04-11T09:12:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/168367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=168367"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/168367\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=168367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=168367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=168367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}