Seo

Go (Golang): Der unbesungene Held im SEO-Toolkit

Go ist eine junge Sprache im Vergleich zu einer Sprache wie Python, die 2007 geboren wurde.

Es verfügt über unglaubliche Funktionen wie eine schnelle Ausführungsgeschwindigkeit im Vergleich zu interpretierten Sprachen.

Es zeichnet sich durch den Umgang mit Parallelität aus und ist damit eine der besten Sprachen unter den anderen Sprachen.

Es ist einfach zu skalieren und wird von einer großartigen Community unterstützt.

Als technischer SEO/SEO-Entwickler, der verschiedene Tools zur Automatisierung des SEO-Prozesses entwickelt, ist es einer der wichtigsten Punkte, schnell und effizient Code ohne Komplexität zu entwickeln und zu versenden.

In diesen Situationen scheint Go (Golang) so hell wie die Sonne.

SEO-Automatisierung

Wenn es um SEO-Automatisierung geht, gibt es viele Möglichkeiten, das gesamte Projekt zu strukturieren.

Sie können Ihre gesamte App in einer einzigen Sprache und einem einzigen Paket schreiben oder Sie können Ihre App in Microservices/serverlose Funktionen aufteilen und jeden Dienst in der Sprache schreiben, die für ihn am besten geeignet ist.

Wenn Sie an einer einfachen Automatisierungsaufgabe arbeiten, ist dies nicht Ihr Problem.

Wenn das Projekt jedoch wächst, kann es als SEO-Entwickler zu Produktivitätsengpässen kommen.

Wer ist ein SEO-Entwickler?

Wenn Sie mehr über SEO-Entwickler erfahren möchten, werden Sie einige Quellen finden, die SEO-Entwickler als Front-End-Ingenieure bezeichnen, die sich mit SEO auskennen.

Wir wissen jedoch, dass in einer idealen Website-Struktur das App-Frontend nur als Hülle für die App dient, nicht für die Daten.

Ein Back-End-Ingenieur ist dafür verantwortlich, die Daten abzurufen und an das Front-End der App zurückzugeben.

Das Frontend ist für die SEO-gerechte Erstellung von Komponenten wie Überschriften, Einstellungstiteln, Meta-Beschreibungen usw. verantwortlich.

Darüber hinaus gibt es technische SEO-Experten, die auch programmieren.

Angesichts all dieser Aussagen sind einige von uns SEO-Entwickler.

Go, JavaScript und Python: Wählen Sie den richtigen Hammer basierend auf dem Nagel

Als SEO-Profis verwenden die meisten von uns Python als primäre Programmiersprache.

Mit Python können wir eine Datenanalyse unserer Daten durchführen, Diagramme erstellen, Webanwendungen mithilfe von Frameworks wie Flask programmieren und sofort ein Paket erhalten, das die gesamte Website für uns crawlt usw. Python ist unser Schweizer Taschenmesser, mit dem wir alles tun können .

Aber was wäre, wenn eine neue Sprache uns helfen könnte, unsere Produktivität bei einigen dieser Aufgaben zu verbessern?

Es gibt verschiedene Möglichkeiten, diese Sprachen zu vergleichen, einschließlich ihres Typsystems, wie sie mit Parallelität umgehen usw.

Vor allem gehe ich davon aus, dass Sie ein SEO-Entwickler sind, der sich mit Python/JS auskennt.

Wenn Sie als SEO neu im Programmieren sind, ist Python in den meisten Fällen die bessere Wahl für Sie, anstatt JS oder Go zu lernen.

Unten ist meine Präferenz für die Aufgabe aufgeführt: Jede Sprache kann mir als SEO-Experte besser dienen:

  • Python: Daten analysieren und ML-bezogene Aufgaben ausführen.
  • JavaScript: Apps-Skript schreiben, als fortgeschrittener Benutzer mit Google Tag Manager arbeiten. Interessiert an Frontend-Entwicklung.
  • Geh (Golang): Webanwendungen entwickeln. Interessiert an Backend-Entwicklung.

Go Fakten

Machen wir uns mit der Go-Sprache vertrauter.

Gehen Sie in die Geschichte

Wenn Sie diesen Abschnitt lesen, haben Sie sich entschieden, Go als Ihre neue Programmiersprache zu lernen.

Werfen wir einen kurzen Blick auf die Geschichte von Go.

Go wurde 2007 von Robert Griesemer, Rob Pike und Ken Thompson bei Google entwickelt und 2009 als Open-Source-Programmiersprache eingeführt.

Es ist interessant zu wissen, dass es wegen seiner Einfachheit von Python (erstellt Ende der 1980er Jahre) inspiriert wurde.

Go ist eine kompilierte Sprache

Abgesehen von der Tatsache, dass kompilierte Sprachen schneller ausgeführt werden als interpretierte Sprachen, fällt es mir schwer, die Pakete zu erhalten, Paketkonflikte zu lösen usw., wenn ich in Python programmiere und es auf einem anderen Computer ausführen möchte.

Mit Go kann ich den Code jedoch ganz einfach auf meinem Nicht-Linux-Rechner für den Linux-Rechner erstellen, auf dem ich den Code ausführen möchte.

Dann verwende ich das Befehlszeilentool „scp“, um die ausführbare Datei auf den Linux-Computer zu kopieren.

Go verfügt über eine fantastische Standardbibliothek

Einer der erstaunlichen Aspekte von Go ist, dass Sie die Standardbibliothek erkunden können.

Wenn Sie eine Anfrage stellen möchten, können Sie statt des Herunterladens des „requests“-Pakets in Python das integrierte Paket verwenden.

Wenn Sie einen Webserver erstellen möchten, können Sie dies auch tun, ohne zusätzliche Pakete zu installieren. In vielen Fällen müssen Sie nur die Go-Standardbibliothek konsultieren, um eine Lösung für Ihr Problem zu finden.

Gehen ist schnell

Wenn wir sagen, dass Go schnell ist, können wir seine Geschwindigkeit aus verschiedenen Perspektiven beurteilen. Hier sind einige dieser Aspekte:

  • Aufgrund seiner Einfachheit können Sie eine schöne und schnelle Entwicklungserfahrung machen.
  • Es handelt sich um eine effektive Speicherbereinigung, die den Speicher für Sie verwaltet.
  • Parallelität ist eines der Dinge, für die Go bekannt ist, und sie ist (im Gegensatz zu Python) einfach einzurichten.
  • Da Go eine kompilierte Sprache ist, erhalten Sie im Vergleich zu interpretierten Sprachen eine relativ schnellere Codeausführung.

Welche Tools gibt es für Coding Go?

Es gibt mehrere Möglichkeiten zum Codieren in Go. Unten sehen Sie eine Liste dieser Tools:

  • Visual Studio-Code (VS-Code) – Frei.
  • GoLand – Bezahlt.
  • Vim/Neovim – Frei.

Persönlich programmiere ich in GoLand, aber mit dem IdeaVim-Plugin, das Vim-Bewegungen in meine IDE bringt und mir das Leben erleichtert.

Wenn Sie VS Code verwenden möchten, installieren Sie das offizielle Go-Plugin dafür. Wenn Sie Vim/Neovim bevorzugen, vergessen Sie nicht, Go LSP zu installieren.

So installieren Sie Go

Sie können ganz einfach den Anweisungen auf der Go-Website folgen, um Go basierend auf Ihrem Betriebssystem zu installieren.

So schreiben Sie „Hello World“ in Go

Lass uns gehen.

Nachdem Sie die Go-Sprache auf Ihrem Computer installiert und überprüft haben, ob sie installiert ist, erstellen Sie an der gewünschten Stelle einen Ordner und nennen Sie ihn „hello-go“.

Verwenden Sie dann auf Ihrem Terminal oder Windows-Subsystem für Linux den Befehl „cd“, um zu dem von Ihnen erstellten Ordner zu navigieren.

Da Sie Go installiert haben, können Sie jetzt auf die Go-Befehlszeile auf Ihrem Computer zugreifen.

Führen Sie in Ihrer Befehlszeile den Befehl „go mod init hello” Befehl.

Dieser Befehl erstellt eine „go.mod“-Datei, die den Modulnamen, die erforderliche Go-Version, Paketabhängigkeiten und mehr deklariert.

Wenn Sie es noch nicht verstehen, machen Sie sich keine Sorgen – nehmen Sie sich die Zeit, es zu lernen, ohne in diesem Moment innezuhalten. Wenn Sie mit Poetry für Ihre Python-Projekte vertraut sind, weisen sie einige Ähnlichkeiten auf.

Jetzt erstellen wir eine Datei, in die wir unseren Code schreiben, und nennen sie „hello.go“. Wenn Sie die Datei mit Ihrem Terminal erstellen, können Sie den Befehl „touch hello.go„.

Öffnen wir unseren Texteditor/IDE, um unseren ersten Go-Code zu schreiben. Unten können Sie den Code sehen, und dann werde ich ihn Ihnen erklären.

package main
import "fmt"
func main() {
fmt.Println("Hello GO!")
}

Beim obigen Code sind verschiedene Elemente zu berücksichtigen

  • Paketnamen: Wir haben es „main“ genannt, um anzuzeigen, dass dies unser Hauptpaket in Go ist.
  • Import-Anweisung: Ähnlich wie bei Python haben wir das Paket „fmt“ aus der Standardbibliothek importiert, das für formatierte E/A verwendet wird.
  • Hauptfunktion: Dies dient als Einstiegspunkt für Go, um unser Programm auszuführen.

Vielleicht fragen Sie sich jetzt: „Alireza sagte, Go sei einfach, und was sind die oben genannten Hacks?“ Python ist einfacher usw.“

Typischerweise gibt es einige Unterschiede zwischen Python und Go, aber an diesem Punkt betrachten wir, dass wir unsere Funktionen außerhalb der Hauptfunktion schreiben und sie dann innerhalb der Hauptfunktion aufrufen.

Wenn Go unser Programm ausführen möchte, weiß es, dass es die Hauptfunktion ausführen muss. Wenn also eine andere Funktion aufgerufen wird, wird sie ausgeführt.

Wenn Sie mit Sprachen wie C vertraut sind, wird Ihnen der obige Code viel vertrauter sein.

So führen/erstellen Sie unser Programm in Go

Nachdem wir unser Programm programmiert haben, müssen wir es ausführen, um „Hello GO!“ zu sehen. als Ausgabe. Dazu führen wir den Befehl „go run hello.go” in der Befehlszeile.

Wie Sie sehen, haben wir unseren Output.

Wie ich bereits erwähnt habe, kompiliert Go unseren Code und ähnelt nicht Python, das einen Interpreter verwendet. Daher können wir eine ausführbare Datei erhalten und ausführen!

Wenn wir den Befehl „go run“ verwenden, wird die ausführbare Datei im Handumdrehen erstellt und ausgeführt, ohne sie zu speichern. Wenn wir jedoch den Befehl „go build hello.go“ ausführen, erhalten wir als Ausgabe unsere ausführbare Datei mit demselben Namen wie die Datei, die wir an „go build“ übergeben haben.

Nach dem Rennen “go build hello.go„Wir sollten eine „Hallo“-Datei als Ausgabe haben, bei der es sich um eine ausführbare Datei handelt. Wir können es vom Terminal aus ausführen, indem wir „./hello” Befehl.

Python-Codeäquivalent im Go-Code

Nachdem wir nun die Grundlagen kennen, schauen wir uns das Erstellen einer Variablen, einer for-Schleife, das Senden einer HTTP-Anfrage usw. an.

Im Folgenden werde ich zum besseren Verständnis sowohl Python-Code (mit dem Sie vermutlich vertraut sind) als auch den entsprechenden Code in Go schreiben.

Das Projekt „Golang for Node.js Developers“ hat mich dazu inspiriert, auf diese Weise zu schreiben. Ich habe auch ein Projekt namens „Go for Python Developers“ mit möglichst vielen Beispielen für mich erstellt, also verpassen Sie es nicht.

Lass uns gehen!

Variablen

Python:

mutable_variable = 2
CONST_VARIABLE = 3.14 # There isn't a way to define a constant variable in Python
a, b = 1, "one" # Declaring two mutable variables at once

Gehen:

var mutableVariable int = 2
const ConstVariable float = 3.14
var a, b = 1, "one" // Go automatically assigns types to each variable (type inferred), so you can't change them later.

Darüber hinaus zeigt Ihnen das obige Beispiel, wie Sie Variablen in Go erstellen können.

Sie können sich auch die verschiedenen Möglichkeiten zur Benennung von Variablen in Go und Python sowie die verschiedenen Möglichkeiten zum Hinterlassen eines Kommentars ansehen.

Datentypen

Python:

string_var = "Hello Python!"
integer_var = 2
float_var = 3.14
boolean_var = True

Gehen:

var string_var string = "Hello Go!"
var integer_var int = 2
var float_var float = 3.14
var boolean_var bool = true

Für Schleifen

Python:

i = 10
for i in range(10):
print(i)

Gehen:

// Initial; condition; after loop
for i := 0; i < 10; i { // Using the shorthand syntax of declaring a variable in Go (mutableVar := the value)
fmt.Println(i)
}

While-Schleife

Python:

counter = 0
while counter < 5:
print(counter)
counter = 1

Gehen:

var counter int = 0
for counter < 5 {
fmt.Println(counter)
counter = 1
}

Ansonsten:

Python

age = 25if age >= 13 and age <= 19:
print("Teenager")
elif age >= 20 and age <= 29:
print("Young adult")
elif age >= 30 and age <= 39:
print("Adult")
else:
print("Other")

Gehen:

var age int = 25
if age >= 13 && age <= 19 {
fmt.Println("Teenager")
} else if age >= 20 && age <= 29 {
fmt.Println("Young adult")
} else if age >= 30 && age <= 39 {
fmt.Println("Adult")
} else {
fmt.Println("Other")
}

Array/Slice

In Python kennen wir Listen, deren Größe dynamisch ist. In Go gibt es zwei unterschiedliche Konzepte für Python-Listen. Das erste ist ein Array mit einer festen Größe und das zweite sind Slices mit dynamischer Größe.

Eine weitere wichtige Sache bei Arrays/Slices in Go ist, dass wir die Art der Elemente definieren müssen, die wir in unserem Array/Slice speichern möchten. Mit anderen Worten: Sie können ein Segment aus Zeichenfolgen haben, nicht ein Segment aus sowohl Zeichenfolgen als auch ganzen Zahlen.

Python:

mix_list = [False, 1, "two"]

Gehen:

var boolArray [3]bool = [3]bool{false, true, true} // var variableName [array size]type of array elements
var stringArray [3]string = [3]string{"zero", "one", "two"}
var intArray [3]int = [3]int{0, 1, 2}
var boolSlice []bool = []bool{false} // var variableName []type of slice elements
var stringSlice []string = []string{"zero", "one"}
var intSlice []int = []int{0, 1, 2}

Für Schleifen über Arrays/Slices

Python:

mix_list = [False, 1, "two"]for item in mix_list:
print(item)

Gehen:

var intSlice []int = []int{0, 1, 2}
for index, value := range intSlice {
fmt.Println(index, value)
}

Karten

Betrachten Sie Map als das Wörterbuch, das wir in Python haben. Ähnlich wie bei einem Array/Slice müssen Sie den Typ des Schlüssels und den Typ der Werte deklarieren.

Python:

the_dictionary = {"hi": 1, "bye": False}
print(the_dictionary["hi"])

Gehen:

var theMap map[string]int = map[string]int{"hi": 1, "bye": 0}
fmt.Println(theMap["hi"])

HTTP-Get-Anfrage

Python:

import requests
response = requests.get("https://example.com/")
print(response.content)

Gehen:

import (
"fmt"
"io"
"log"
"net/http"
)
resp, err := http.Get("https://example.com/")
if err != nil {
log.Println(err)
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
fmt.Println(string(body))

Abschluss

Wenn Sie daran interessiert sind, Go zu lernen, können Sie sich die Go-by-Example-Website (ich habe mir für diesen Artikel die Beispielhierarchie angesehen) und die Go-Tour ansehen.

Ich wünsche Ihnen viel Spaß beim Codieren in Go und viel Spaß beim Lernen!

Mehr Ressourcen:

  • Website-Entwicklung: Ausführlicher Leitfaden für Anfänger
  • Streamlit-Tutorial für SEOs: So erstellen Sie eine Benutzeroberfläche für Ihre Python-App
  • Eine Einführung in Python und maschinelles Lernen für technisches SEO

Ausgewähltes Bild: ShadeDesign/Shutterstock

Leave a Reply