Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Sichere ProgrammierungWhat is Programming And How i can Enjoy it?(24.09.2026 um 11:54 Uhr)
Sichere ProgrammierungYou Don't Need Adobe Commerce Cloud to Survive Black Friday(24.09.2026 um 11:55 Uhr)
Malware / Trojaner / VirenBeyond Lazarus: Organization of DPRK cyber capabilities(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenBeyond Lazarus: Organization of DPRK Cyber Capabilities(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenThe fake worker threat and the rise of human infiltration(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenPolinRider Spreads Through Compromised GitHub Accounts and Packagist(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenWeaselBiscuit Strips BeaverTail and OtterCookie Down to Essentials(24.09.2026 um 11:59 Uhr)
Sichere ProgrammierungWhat is Programming And How i can Enjoy it?(24.09.2026 um 11:54 Uhr)
Sichere ProgrammierungYou Don't Need Adobe Commerce Cloud to Survive Black Friday(24.09.2026 um 11:55 Uhr)
Malware / Trojaner / VirenBeyond Lazarus: Organization of DPRK cyber capabilities(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenBeyond Lazarus: Organization of DPRK Cyber Capabilities(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenThe fake worker threat and the rise of human infiltration(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenPolinRider Spreads Through Compromised GitHub Accounts and Packagist(24.09.2026 um 11:59 Uhr)
Malware / Trojaner / VirenWeaselBiscuit Strips BeaverTail and OtterCookie Down to Essentials(24.09.2026 um 11:59 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

Learning Go - Blocos, Shadowing e Estruturas de controle

Nada de especial aqui, anotações pertinentes do capítulo 4 do livro Learning Go - Blocks, Shadows, and Control Structures. Um comentário especial da minha parte: Esses conceitos de block e shadowing existem em praticamente todas as lin…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

Nada de especial aqui, anotações pertinentes do capítulo 4 do livro Learning Go - Blocks, Shadows, and Control Structures.



Um comentário especial da minha parte:



Esses conceitos de block e shadowing existem em praticamente todas as linguagens e, embora comum, sempre costumam causar bugs inesperados. A maioria das pessoas acaba comendo bola com closures, shadowing e etc.



Então , meu conselho é prestar bastante atenção nisso e sempre manter o buffer das variáveis em contexto hehe.



Seguem as anotações:






Blocks



Qualquer lugar onde uma declaração de variável pode ocorrer é um bloco.

Tudo que for declarado fora de uma função esta no package block.



Os parâmetros e tudo que for definido dentro dos {} de uma função estão em um bloco.



Dentro de uma função, todo par de {} define um bloco também (estruturas de controle, loop, etc).



Você consegue acessar um identificador definido em blocos de fora em blocos de dentro.





Shadowing



Ao declarar uma variável em um bloco interno com o mesmo nome de outra variável de um bloco externo estamos fazendo shadowing, ou seja, a variável do bloco externo não é mais acessível e fica “sobreposta” pelo valor da nova variável declarada no bloco interno.





Detecção de shadowing



Existe um linter chamado shadow que ajuda a detectar shadowing e é muito recomendado que faça parte do seu pipeline de build.





Universe Block



Go é uma linguagem enxuta com somente 25 keywords, então algumas palavras que seriam esperadas a serem keywords na verdade acabam sendo identificadores pré declarados, como o caso de tipos built-in (int , string , etc), constantes (true , false ), funções (make , close) e até mesmo nil .



Todos esses identificadores são declarados em um bloco que contém todos os outros blocos, que é chamado de universe block, devido a isto devemos ter cuidado e não fazer shadowing destes valores. Teríamos comportamentos totalmente inesperados ao redefinir o valor de true ou false por exemplo.





If statement



Ifs em Go são basicamente idênticos a outras linguagens, única diferença é que é possível declarar variáveis para uso dentro dos blocos do if else diretamente antes da condição.





Loops



Em Go, existe somente uma forma de construis loops, sendo o for a única keyword pra este fim. Existem algumas formas diferentes de se usar o for em Go.



for-range é a forma utilizada para iterar sobre elementos de tipos built-in (strings, arrays, slices e maps). No for-range podemos ignorar tanto a variável de posição (a primeira na ordem), quanto a variável de valor (ultimo na ordem). Parar ignorar a variável de posição podemos utilizar um _ como nome da variável, para ignorar a variável de valor podemos simplesmente não declara-la.





Iterando mapas



É importante destacar que a ordem não é garantida quando iteramos sobre mapas.





Iterando strings



Na iteração de strings é retornado runes em cada iteração, tendo um tratamento especial pra quando um caractere (rune) seja representado por múltiplos bytes. Nesse caso, a variável de posição é incrementada pelo número de bytes que a rune possui, a variável de valor assume o valor da representação UTF-8 de 32-bits. Caso não seja possível encontrar uma representação UTF-8 válida, o Unicode replacement character (valor hex 0xfffd) é retornado como valor.





A variável de valor do for-range é uma cópia



Importante mencionar que a variável de valor do for-range é uma cópia do valor sendo iterado, ou seja, modificar a variável não vai afetar em nada o elemento que esta sob iteração.





Label em loops



Podemos “nomear” loops para que consigamos utilizar o break ou continue de loops externos em loops internos.





Switch



Os case são mutuamente exclusivos, ou seja, quando algum case é atingido o switch para.



Existe a keyword fallthrough que permite que o switch continue, porém não é muito idiomático utilizá-lo.





Quando usar if-elses ou switch?



O switch agrupa condicionais relacionadas, ou seja, quando haver uma relação entre as condicionais usar o switch.





goto



Evite usar goto quase sempre.



Existem alguns poucos casos onde o goto pode simplificar a leitura do código, principalmente quando usamos flags booleanas para controlar o fluxo de alguma forma.




func main() {
a := rand.Intn(10)

for a < 100 {
if a%5 == 0 {
goto done
}

a=a*2+1
}

fmt.Println("do something when the loop completes normally")
done:
fmt.Println("do complicated stuff no matter why we left the loop")
fmt.Println(a)
}


CTI Threat Relationship Graph2 Knoten / 1 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
SOC Incident Playbook: Vulnerability Remediation & Verification
title: Detect Exploitation - Learning Go - Blocos, Shadowing e Estruturas de controle
id: 27d44d0e-de1f-41f2-ad28-f9c88d99f67e
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-24
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-24"
        description = "YARA Signature for "
    strings:
        $str = "Learning Go - Blocos, Shadowin" ascii wide
    condition:
        any of them
}
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich Learning Go - Blocos, Shadowing e Estrut.... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Learning Go - Blocos, Shadowing e Estruturas de controle

Thematisch verwandte Begriffe: Learning, Blocos, Shadowing, Estruturas · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY Kritische Sicherheitsmeldung
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick