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

Related Articles

55 Comments

  1. Your style is really unique in comparison to other folks I’ve read stuff from.
    Thanks for posting when you have the opportunity, Guess I will just book mark this web site.

  2. Excellent goods from you, man. I have understand your stuff previous to and you are just extremely wonderful.
    I really like what you have acquired here, certainly like what you’re saying and the way in which you say it.

    You make it entertaining and you still take care of to keep it sensible.

    I can’t wait to read much more from you. This is really a great site.

  3. Hi there just wanted to give you a quick heads up. The
    words in your article seem to be running off the screen in Chrome.

    I’m not sure if this is a format issue or something to do with web browser compatibility but I thought I’d post to let
    you know. The design and style look great though!

    Hope you get the problem fixed soon. Kudos

  4. Ꮋі, yeѕ this piece of writing is іn fact pleasant andd I have learned lot of things from itt on the topic
    оf blоgging. thanks.

  5. Hey tһere are using WordPress for your site platform?
    I’m new to the blog world Ƅut I’m trying to gget started and set up my own. Do
    you neeⅾ any coding knowledge to make your own blog?
    Any heⅼp would be really apрreciated!

  6. You really make it seem so easy with your presentation but I find this
    topic to be actually something that I think I would never understand.
    It seems too complicated and extremely broad for me.

    I’m looking forward for your next post, I will try to
    get the hang of it!

  7. Heya i am for the primary time here. I found this board and I find It really useful & it helped
    me out a lot. I’m hoping to offer one thing back and help others like you helped me.

  8. My coder is trying to convince me to move to .net from
    PHP. I have always disliked the idea because of the expenses.
    But he’s tryiong none the less. I’ve been using Movable-type
    on numerous websites for about a year and am nervous about switching to another platform.
    I have heard excellent things about blogengine.net.
    Is there a way I can transfer all my wordpress posts into it?

    Any help would be really appreciated!

  9. Thanks for a marvelous posting! I genuinely enjoyed reading it,
    you could be a great author. I will ensure that I bookmark your blog and
    will come back someday. I want to encourage one to continue your great writing, have
    a nice day!

  10. Excellent post. Keep writing such kind of information on your blog.
    Im really impressed by your blog.
    Hello there, You have done an excellent job. I will
    certainly digg it and personally recommend to my friends.
    I’m sure they will be benefited from this website.

  11. Hello my family member! I wish to say that this post is
    awesome, great written and include almost all vital infos.
    I’d like to look extra posts like this .

  12. I must thank you for the efforts you have put in writing this website.
    I am hoping to see the same high-grade blog posts from you later on as well.
    In fact, your creative writing abilities has inspired me
    to get my own website now 😉

  13. I was suggested this website by my cousin. I am not certain whether this submit is written by way of him as no one else realize such detailed
    approximately my problem. You are amazing! Thanks!

  14. Your style is really unique in comparison to other folks
    I have read stuff from. Thank you for posting when you’ve got the opportunity,
    Guess I will just book mark this page.

  15. If sоme one needs expert vіew ϲoncerning running a
    blog after that i ρropose him/her to pay a visit this webpage,
    Keep up the pleasant ϳob.

  16. Nice blog! Is your theme custom made or did you download
    it from somewhere? A design like yours with a few simple adjustements would
    really make my blog jump out. Please let me know where
    you got your theme. Thanks

  17. Unquestionably consider that which you said. Your favourite
    justification appeared to be at the web the simplest factor to be
    mindful of. I say to you, I definitely get annoyed whilst people consider worries that they
    just do not realize about. You managed to hit the nail upon the
    highest and defined out the whole thing with no need side effect , other people
    can take a signal. Will probably be again to get more.

    Thanks

  18. Excellent goids from you, man. I have understanmd youjr stuff previous to andd you’re just too wonderful.
    I aftually like what you’ve acqured here, certainly like wuat you’re stating and tthe way
    in whnich you sayy it. Yoou make it enjoyable and you still czre for tto
    keep it sensible. I can not wait to read far
    more from you. This is really a terrific site.

    Feel free to surf too my web blog … 카지노사이트

  19. Do you have a spam problem on this blog; I also am a blogger, and I was
    wondering your situation; many of us have developed some nice practices and we are looking to exchange solutions with
    others, be sure to shoot me an e-mail if interested.

  20. I simply could not leave your web site prior to
    suggesting that I actually loved the standard info a person provide to
    your guests? Is going to be again often to check out new posts

  21. I am really enjoying the theme/design of your
    web site. Do you ever run into any web browser compatibility issues?

    A handful of my blog readers have complained about my blog not operating
    correctly in Explorer but looks great in Firefox.
    Do you have any suggestions to help fix this problem?

  22. Great work! That is the kind of information that
    are supposed to be shared across the internet. Disgrace on Google
    for not positioning this submit higher! Come on over and visit my web site .
    Thanks =)

  23. A fascinating discussion is definitely worth comment. There’s no doubt that that you should publish more about this issue, it might not be a
    taboo subject but usually folks don’t discuss such issues.
    To the next! Cheers!!

  24. This is really interesting, You are a very skilled
    blogger. I have joined your feed and look forward to seeking more of your great post.
    Also, I’ve shared your web site in my social networks!

  25. I have to thank you for the efforts you have put in writing
    this website. I am hoping to view the same high-grade blog posts by you later on as well.
    In truth, your creative writing abilities has motivated me to get my own, personal blog
    now 😉

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button