Go - Der Kurs zum Buch

所在平台: Udemy

课程主页: https://www.udemy.com/course/go-der-kurs-zum-buch/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:Go - Der Kurs zum Buch 课程概述:Go(常被称为Golang)是一种相对较新的编程语言,旨在满足现代需求。该语言最初由谷歌设计,非常适合用于开发高效能的程序。Go语言学习起来相对简单,因为它实现了许多已被验证的概念,从而避免了重新发明轮子。其标准库功能强大,非常适合微服务或后端应用开发,这也是Go被称为“云语言”的原因之一。本课程是与dpunkt-Verlag出版的《Go - Das Praxisbuch》一书的完美补充,涵盖书中的所有内容,并探索Go编程语言的最新发展。 本课程专门针对已有其他编程语言经验的开发者,因此快速介绍了语法,而不深入探讨已知的概念和基础知识,帮助学员迅速了解Go语言。通过小项目展示Go的实际应用,同时介绍强大的标准库。课程内容包括: 1. **语法介绍**:快速概述所有语言元素。 2. **项目:命令行工具**:编写一个能够加载文件并将其内容输出到标准输出的工具,以及一个将标准输入数据转换为md5哈希的工具。 3. **项目:简单的网页加载器**:深入理解io.Reader和io.Writer,掌握HTTP请求、文件操作及错误类型的使用。 4. **自定义包和模块**:介绍Go的模块管理,涵盖基本命令和概念。 5. **项目:代码生成**:使用go generate在编译前执行命令,展现其实际应用,快速生成代码。 6. **并发基础**:介绍Go最重要的特性之一——并发编程,包括Goroutines、Channels、竞争条件等。 7. **并发模式**:展示不同问题如何在Go中并发解决。 8. **项目:Go并发**:创建一个CLI工具,实际应用所学并发基础和模式。 9. **测试与基准测试**:讲解如何在Go中编写单元测试和基准测试。 10. **项目:图像缩放工具**:编写一个工具,缩小目录中的所有图片,包含小测试、外部包的使用和自定义错误类型,最后将顺序程序转为并发程序。 11. **接口**:了解Go中接口的内部实现及其与其他语言的不同之处,创建高效的小型接口。 12. **项目:反射**:创建一个运行时评估结构并复制字段内容的包,介绍Go中反射的基础及其应用。 13. **错误处理**:介绍Go中错误的管理方式及其特殊性。 14. **项目:Web服务器**:构建一个简单网页日志的服务器,学习http处理器并创建简单的JSON API。 本课程将帮助学员深入理解Go语言的基本概念及其强大功能,通过项目实践巩固所学知识。

课程评论(0条)

课程详情

Go (auch oft als Golang bezeichnet) ist eine relativ neue Programmiersprache, die für moderne Anforderungen ausgelegt ist. Ursprünglich bei Google konzipiert, ist Golang perfekt geeignet, um leistungsfähige Programme zu erstellen. Die Sprache ist leicht zu erlenen, da sie viele bereits bewehrte Konzepte umsetzt und somit nicht das Rad neu erfindet. Die Standardbibliothek ist sehr mächtig und eignet sich sehr gut für Microservices oder Backend-Anwendungen. Nicht umsonst wird Go auch als die Sprache der Cloud bezeichnet. Dieser Kurs ist eine perfekte Ergänzung zum Buch "Go - Das Praxisbuch" aus dem dpunkt-Verlag. Er beinhaltet alle Inhalte des Buches und geht auf weitere aktuelle Entwicklungen der Programmiersprache Go ein.Der Kurs richtet sich an Entwickler, die bereits in anderen Sprachen programmiert haben. Deshalb wird die Syntax schnell vorgestellt. Hier halten wir uns nicht an bekannten Konzepten bzw. Grundlagen auf. Somit bekommst Du einen schnellen Überblick über die Sprache. Kleine Projekte zeigen, wie die Sprache praktisch angewendet werden kann. Dabei erfolgt auch ein Einblick in die mächtige Standardbibliothek der Sprache. Der Kurs beinhaltet aktuell wie folgende Lektionen:Vorstellung der SyntaxEs werden einmal alle Elemente der Sprache kurz vorgestelltProjekt: Command Line InterfaceIm ersten Projekt wird ein Tool geschrieben, das Dateien laden kann und deren Inhalt an den Standardoutput übergibt. Anschließend wird ein zweites Tool erstellt, dass Daten aus dem Standardinput verwendet, um diese als md5-Hash auszugeben.Projekt: Ein einfacher WebloaderDieses Projekt vertieft erneut die Verwendung des io.Reader und io.Writers und gibt weitere Einblicke in HTTP-Request, Umgang mit Files und geschickter Verwendung des Error-Typs.Eigene Pakete und ModuleEine Vorstellung, wie Module in Go abgebildet werden. Seit Version 1.11 werden Abhängigkeiten über Module verwaltet. In diesem Kapitel behandeln wir die wichtigsten Befehle und Grundlagen zu den Modulen.Projekt: Code generierenMit go generate ist es möglich Befehle vor dem Kompilieren über das Go-Tool ausführen zu lassen. Diese werden als Kommentar im Code angelegt. Dieses Projekt zeigt, wie go generate praktisch eingesetzt wird. Zusätzlich zeigt es, wie wir mit Go auch ganz schnell und einfach Code generieren können.Concurrency-GrundlagenEines der wichtigsten Features von Go ist die nebenläufige Programmierung. In diesem Kapitel wird der erste Grundstock für dieses Konzept gelegt. Hier erfolgt eine Einführung in Goroutinten, Channels, Race Conditions und vieles mehr.Concurrency-PatternsAufbauend auf den Grundlagen werden immer wieder kehrende Elemente der nebenläufigen Programmierung vorgestellt. Es wird gezeigt, wie unterschiedliche Problemstellungen nebenläufig in Go gelöst werden können.Projekt: Go ConcurrencyDieses Projekt zeigt, wie wir praktisch die gelernten Concurrency Grundlagen und Pattern anwenden können. Dafür erstellen wir ein CLI Tool, das Befehle nebenläufig ausführt.Testen und BenchmarksGo besitzt schon seit Anfang eine integrierte Testumgebung. In diesem Kapitel wird dir gezeigt, wie Du Unit-Tests und Benchmarks in Go erstellst.Projekt: Ein Image ResizerIn diesem kleinen Projekt schreiben wir ein Tool, dass alle Bilder in einem Verzeichnis verkleinert. Dabei schreiben wir kleine Tests, verwenden ein externes Paket und bauen uns einen eigenen Fehlertyp. Am Ende bauen wir das sequentielle Programm in ein nebenläufiges Programm um.InterfacesWie werden Interfaces intern abgebildet und was ist in Go anders gelöst als in anderen Sprachen. Wie erzeugen wir auf idiomatische Weise kleine leistungsfähige Interfaces.Projekt: ReflectionIn diesem Projekt erstellen wir ein Paket, dass zur Laufzeit Strukturen auswertet und die Inhalte der Felder kopiert. Dafür verwenden wir das reflect-Paket. Neben den ersten Grundlagen zu Reflection in Go zeigt dieses Projekt einen Anwendungsfall für dieses Thema.FehlerbehandlungEine kurze Darstellung, wie Fehler in Go abgebildet werden und welche Besonderheiten sich daraus ergeben.Projekt: WebserverIn diesem Projekt bauen wir den Server für einen ganz einfachen Weblog. Dabei lernen wir http-Handler kennen und erstellen auch eine einfache JSON-API.

课程标签

0人关注该课程

主题相关的课程