mirror of
https://github.com/teivah/100-go-mistakes.git
synced 2026-06-20 16:45:56 +08:00
Clearer introduction, external
This commit is contained in:
parent
3e7b2f6621
commit
53e0980ced
25 changed files with 570 additions and 154 deletions
BIN
.cache/plugin/social/e4eb5bc578adbed8e1467370dc660724.png
Normal file
BIN
.cache/plugin/social/e4eb5bc578adbed8e1467370dc660724.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
14
docs/book.md
14
docs/book.md
|
|
@ -5,15 +5,13 @@ hide:
|
|||
|
||||
# 100 Go Mistakes and How to Avoid Them
|
||||
|
||||
Community space of 📖 _100 Go Mistakes and How to Avoid Them_, published by Manning in 2022.
|
||||
|
||||

|
||||
|
||||
## Description
|
||||
|
||||
If you're a Go developer looking to improve your skills, this book is for you. With a focus on practical examples, _100 Go Mistakes and How to Avoid Them_ covers a wide range of topics from concurrency and error handling to testing and code organization. You'll learn to write more idiomatic, efficient, and maintainable code and become a proficient Go developer.
|
||||
If you're a Go developer looking to improve your skills, the _100 Go Mistakes and How to Avoid Them_ book is for you. With a focus on practical examples, this book covers a wide range of topics from concurrency and error handling to testing and code organization. You'll learn to write more idiomatic, efficient, and maintainable code and become a proficient Go developer.
|
||||
|
||||
Read a summary of the 100 mistakes [here](https://100go.co).
|
||||
Read a [summary](index.md) of the 100 mistakes or the [first chapter](chapter-1.md).
|
||||
|
||||
## Quotes and Ratings
|
||||
|
||||
|
|
@ -43,17 +41,21 @@ Read a summary of the 100 mistakes [here](https://100go.co).
|
|||
## Where to Buy?
|
||||
|
||||
* _100 Go Mistakes and How to Avoid Them_ (🇬🇧 edition: paper, digital, or audiobook)
|
||||
* [Manning](https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them) (make sure to use my personal discount code for -35%: `au35har`)
|
||||
* [Manning](https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them) (please make sure to use my personal discount code for -35%: `au35har`)
|
||||
* [O’Reilly](https://www.oreilly.com/library/view/100-go-mistakes/9781617299599/)
|
||||
* Amazon: [.com](https://www.amazon.com/dp/1617299596), [.co.uk](https://www.amazon.co.uk/dp/B0BBSNJR6B), [.de](https://www.amazon.de/dp/B0BBHQD8BQ), [.fr](https://www.amazon.fr/100-Mistakes-How-Avoid-Them/dp/1617299596), [.in](https://www.amazon.in/dp/B0BBHQD8BQ), [.co.jp](https://www.amazon.co.jp/dp/B0BBHQD8BQ), [.es](https://www.amazon.es/dp/B0BBHQD8BQ), [.it](https://www.amazon.it/dp/B0BBHQD8BQ), [.com.br](https://www.amazon.com.br/dp/B0BBHQD8BQ)
|
||||
|
||||
* _Go言語100Tips 開発者にありがちな間違いへの対処法_ (🇯🇵 edition: paper or digital)
|
||||
* Amazon: [.co.jp](https://www.amazon.co.jp/exec/obidos/ASIN/4295017531/)
|
||||
|
||||
* _100个Go语言典型错误_ (🇨🇳 edition: paper or digital)
|
||||
* [Douban.com](https://read.douban.com/ebook/455919353/)
|
||||
|
||||
<figure markdown>
|
||||
{width="200"}
|
||||
{width="200"}
|
||||
<figcaption>English and Japanese covers</figcaption>
|
||||
{width="170"}
|
||||
<figcaption>Covers</figcaption>
|
||||
</figure>
|
||||
|
||||
## About the Author
|
||||
|
|
|
|||
|
|
@ -1,30 +1,70 @@
|
|||
---
|
||||
hide:
|
||||
- toc
|
||||
---
|
||||
|
||||
# External Resources
|
||||
|
||||
## English
|
||||
|
||||
* Book Review: 100 Go Mistakes and How to Avoid Them: [Post](https://boldlygo.tech/posts/2023-08-09-review-100-go-mistakes/), [YouTube](https://www.youtube.com/watch?v=tcRYU9g5wtw)
|
||||
* The Most Useful Book for a Go Programmer?: [YouTube](https://www.youtube.com/watch?v=8pqgv4_Yjq0)
|
||||
* How to make mistakes in Go - Go Time #190: [Episode](https://changelog.com/gotime/190), [Spotify](https://open.spotify.com/episode/0K1DImrxHCy6E7zVY4AxMZ?si=akroInsPQ1mM5B5V2tHLUw&dl_branch=1)
|
||||
* [8LU - 100% Test Coverage](https://youtu.be/V3FBDav6wgQ?t=1210)
|
||||
* [Some Tips I learned from 100 Mistakes in Go](https://raygervais.dev/articles/2023/04/100_mistakes_in_go/)
|
||||
* [What can be summarized from 100 Go Mistakes?](https://www.sobyte.net/post/2023-05/summarized-from-100-go-mistakes/)
|
||||
### The Best Golang Book | Prime Reacts
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/a-lYYYr-5a8?si=hWm7um5GS19KVbog" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
### Book Review: 100 Go Mistakes (And How to Avoid Them)
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/tcRYU9g5wtw?si=2s10hXwxL7ButfRm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
[Post](https://boldlygo.tech/posts/2023-08-09-review-100-go-mistakes/)
|
||||
|
||||
### The Most Useful Book for a Go Programmer?
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/8pqgv4_Yjq0?si=CunG1j2Uh2isXm4b" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
### How to make mistakes in Go - Go Time #190
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/VGOgDqDe30E?si=HErewJsxDjie92AU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
* [Episode](https://changelog.com/gotime/190)
|
||||
* [Spotify](https://open.spotify.com/episode/0K1DImrxHCy6E7zVY4AxMZ?si=akroInsPQ1mM5B5V2tHLUw&dl_branch=1)
|
||||
|
||||
### Go is AMAZING
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/iQBdVqnB0Ss?si=6lX1-oj28s_OZPwp&start=281" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
### 8LU - 100% Test Coverage
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/V3FBDav6wgQ?si=iA58zxZHQewKF6Jz&start=1210" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
### Some Tips I learned from 100 Mistakes in Go
|
||||
|
||||
[Post](https://raygervais.dev/articles/2023/04/100_mistakes_in_go/)
|
||||
|
||||
### What can be summarized from 100 Go Mistakes?
|
||||
|
||||
[Post](https://www.sobyte.net/post/2023-05/summarized-from-100-go-mistakes/)
|
||||
|
||||
## Chinese
|
||||
|
||||
* [深度阅读之《100 Go Mistakes and How to Avoid Them](https://qcrao.com/post/100-go-mistakes-reading-notes/)
|
||||
* [100 Go Mistakes 随记](https://zhuanlan.zhihu.com/p/592602656)
|
||||
* [我为什么放弃Go语言?](https://juejin.cn/post/7241452578125824061)
|
||||
### 深度阅读之《100 Go Mistakes and How to Avoid Them
|
||||
|
||||
[Post](https://qcrao.com/post/100-go-mistakes-reading-notes/)
|
||||
|
||||
### 100 Go Mistakes 随记
|
||||
|
||||
[Post](https://zhuanlan.zhihu.com/p/592602656)
|
||||
|
||||
### 我为什么放弃Go语言?
|
||||
|
||||
[Post](https://juejin.cn/post/7241452578125824061)
|
||||
|
||||
## Japanese
|
||||
|
||||
* [最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them](https://qiita.com/kentaro_suzuki/items/c9c31dc81217f237433c)
|
||||
* [『100 Go Mistakes and How to Avoid Them』を読む](https://zenn.dev/yukibobier/books/066f07c8a59fa0)
|
||||
### 最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them
|
||||
|
||||
[Post](https://qiita.com/kentaro_suzuki/items/c9c31dc81217f237433c)
|
||||
|
||||
### 『100 Go Mistakes and How to Avoid Them』を読む
|
||||
|
||||
[Post](https://zenn.dev/yukibobier/books/066f07c8a59fa0)
|
||||
|
||||
## Portuguese
|
||||
|
||||
* [Um ÓTIMO livro para programadores Go](https://www.youtube.com/watch?v=34XShL_jWD4)
|
||||
### Um ÓTIMO livro para programadores Go
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/34XShL_jWD4?si=WQZR3QexpwEZ9-EU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
|
|
|||
BIN
docs/img/cover-cn.jpg
Normal file
BIN
docs/img/cover-cn.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
|
|
@ -4,11 +4,11 @@ comments: true
|
|||
|
||||
# Common Go Mistakes
|
||||
|
||||
This page is a summary of all the mistakes in the 100 Go Mistakes book. Meanwhile, it's also a page open to the community. If you believe that a mistake should be added, please create a [community mistake issue](https://github.com/teivah/100-go-mistakes/issues/new?assignees=&labels=community+mistake&template=community_mistake.md&title=).
|
||||
This page is a summary of the mistakes in the [100 Go Mistakes and How to Avoid Them book](book.md). Meanwhile, it's also open to the community. If you believe that a common Go mistake should be added, please create an [issue](https://github.com/teivah/100-go-mistakes/issues/new?assignees=&labels=community+mistake&template=community_mistake.md&title=).
|
||||
|
||||
???+ warning
|
||||
|
||||
You're currently viewing a new version that I'm enriching with significantly more content. Yet, this version is still under development; please be gentle if you find an issue, and feel free to create a PR.
|
||||
You're viewing a new version enriched with significantly more content. However, this version is not yet complete, and we're looking for volunteers to summarize the remaining mistakes ([GitHub issue #43](https://github.com/teivah/100-go-mistakes/issues/43)).
|
||||
|
||||

|
||||
|
||||
|
|
@ -236,10 +236,10 @@ func WithPort(port int) Option {
|
|||
}
|
||||
}
|
||||
|
||||
func NewServer(addr string, opts ...Option) ( *http.Server, error) { <1>
|
||||
var options options <2>
|
||||
for _, opt := range opts { <3>
|
||||
err := opt(&options) <4>
|
||||
func NewServer(addr string, opts ...Option) ( *http.Server, error) {
|
||||
var options options
|
||||
for _, opt := range opts {
|
||||
err := opt(&options)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -2133,3 +2133,11 @@ Read the full section [here](98-profiling-execution-tracing.md).
|
|||
???+ info "TL;DR"
|
||||
|
||||
To help avoid CPU throttling when deployed in Docker and Kubernetes, keep in mind that Go isn’t CFS-aware.
|
||||
|
||||
## Community
|
||||
|
||||
Thanks to all the contributors:
|
||||
|
||||
<a href="https://contrib.rocks/image?repo=teivah/100-go-mistakes">
|
||||
<img src="https://contrib.rocks/image?repo=teivah/100-go-mistakes" alt="Description of the image">
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ nav:
|
|||
- book.md
|
||||
- chapter-1.md
|
||||
- external.md
|
||||
- ⭐ Go Mistakes:
|
||||
- 💡️ Go Mistakes:
|
||||
- index.md
|
||||
- Full Sections:
|
||||
- 9-generics.md
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block htmltitle %}
|
||||
<title>100 Go Mistakes</title>
|
||||
{% endblock %}
|
||||
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Not understanding slice length and capacity (#20) - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -522,7 +524,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -532,7 +534,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Maps and memory leaks (#28) - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -522,7 +524,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -532,7 +534,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -15,8 +15,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="/assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -271,7 +273,7 @@
|
|||
<a href="/." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -469,7 +471,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -479,7 +481,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Thinking concurrency is always faster (#56) - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -522,7 +524,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -532,7 +534,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Writing inaccurate benchmarks (#89) - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -522,7 +524,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -532,7 +534,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Being confused about when to use generics (#9) - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -522,7 +524,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -532,7 +534,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Not using Go diagnostics tooling (#98) - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -317,7 +319,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -520,7 +522,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -530,7 +532,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -19,8 +19,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>100 Go Mistakes and How to Avoid Them - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -317,7 +319,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -596,7 +598,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -606,7 +608,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
@ -897,11 +899,10 @@
|
|||
|
||||
|
||||
<h1 id="100-go-mistakes-and-how-to-avoid-them">100 Go Mistakes and How to Avoid Them</h1>
|
||||
<p>Community space of 📖 <em>100 Go Mistakes and How to Avoid Them</em>, published by Manning in 2022.</p>
|
||||
<p><a class="glightbox" href="../img/cover.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="../img/cover.png" /></a></p>
|
||||
<h2 id="description">Description</h2>
|
||||
<p>If you're a Go developer looking to improve your skills, this book is for you. With a focus on practical examples, <em>100 Go Mistakes and How to Avoid Them</em> covers a wide range of topics from concurrency and error handling to testing and code organization. You'll learn to write more idiomatic, efficient, and maintainable code and become a proficient Go developer.</p>
|
||||
<p>Read a summary of the 100 mistakes <a href="https://100go.co">here</a>.</p>
|
||||
<p>If you're a Go developer looking to improve your skills, the <em>100 Go Mistakes and How to Avoid Them</em> book is for you. With a focus on practical examples, this book covers a wide range of topics from concurrency and error handling to testing and code organization. You'll learn to write more idiomatic, efficient, and maintainable code and become a proficient Go developer.</p>
|
||||
<p>Read a <a href="../">summary</a> of the 100 mistakes or the <a href="../chapter-1/">first chapter</a>.</p>
|
||||
<h2 id="quotes-and-ratings">Quotes and Ratings</h2>
|
||||
<div class="admonition quote">
|
||||
<p class="admonition-title">Krystian (Goodreads user)</p>
|
||||
|
|
@ -931,7 +932,7 @@
|
|||
<li>
|
||||
<p><em>100 Go Mistakes and How to Avoid Them</em> (🇬🇧 edition: paper, digital, or audiobook)</p>
|
||||
<ul>
|
||||
<li><a href="https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them">Manning</a> (make sure to use my personal discount code for -35%: <code>au35har</code>)</li>
|
||||
<li><a href="https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them">Manning</a> (please make sure to use my personal discount code for -35%: <code>au35har</code>)</li>
|
||||
<li><a href="https://www.oreilly.com/library/view/100-go-mistakes/9781617299599/">O’Reilly</a></li>
|
||||
<li>Amazon: <a href="https://www.amazon.com/dp/1617299596">.com</a>, <a href="https://www.amazon.co.uk/dp/B0BBSNJR6B">.co.uk</a>, <a href="https://www.amazon.de/dp/B0BBHQD8BQ">.de</a>, <a href="https://www.amazon.fr/100-Mistakes-How-Avoid-Them/dp/1617299596">.fr</a>, <a href="https://www.amazon.in/dp/B0BBHQD8BQ">.in</a>, <a href="https://www.amazon.co.jp/dp/B0BBHQD8BQ">.co.jp</a>, <a href="https://www.amazon.es/dp/B0BBHQD8BQ">.es</a>, <a href="https://www.amazon.it/dp/B0BBHQD8BQ">.it</a>, <a href="https://www.amazon.com.br/dp/B0BBHQD8BQ">.com.br</a></li>
|
||||
</ul>
|
||||
|
|
@ -942,12 +943,19 @@
|
|||
<li>Amazon: <a href="https://www.amazon.co.jp/exec/obidos/ASIN/4295017531/">.co.jp</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p><em>100个Go语言典型错误</em> (🇨🇳 edition: paper or digital)</p>
|
||||
<ul>
|
||||
<li><a href="https://read.douban.com/ebook/455919353/">Douban.com</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<figure>
|
||||
<p><a class="glightbox" href="../img/cover-en.jpg" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="../img/cover-en.jpg" width="200" /></a>
|
||||
<a class="glightbox" href="../img/cover-jp.jpg" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="../img/cover-jp.jpg" width="200" /></a>
|
||||
<a class="glightbox" href="../img/cover-cn.jpg" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="../img/cover-cn.jpg" width="170" /></a>
|
||||
</p>
|
||||
<figcaption>English and Japanese covers</figcaption>
|
||||
<figcaption>Covers</figcaption>
|
||||
</figure>
|
||||
<h2 id="about-the-author">About the Author</h2>
|
||||
<p><a href="https://teivah.dev">Teiva Harsanyi</a> is a senior software engineer at Google. He has worked in various domains, including insurance, transportation, and safety-critical industries like air traffic management. He is passionate about Go and how to design and implement reliable systems.</p>
|
||||
|
|
|
|||
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Read the First Chapter - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -667,7 +669,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -677,7 +679,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
374
site/external/index.html
vendored
374
site/external/index.html
vendored
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>External Resources - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -344,8 +346,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
|
@ -525,6 +525,84 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="English">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#the-best-golang-book-prime-reacts" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
The Best Golang Book | Prime Reacts
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#book-review-100-go-mistakes-and-how-to-avoid-them" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Book Review: 100 Go Mistakes (And How to Avoid Them)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#the-most-useful-book-for-a-go-programmer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
The Most Useful Book for a Go Programmer?
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#how-to-make-mistakes-in-go-go-time-190" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
How to make mistakes in Go - Go Time #190
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#go-is-amazing" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Go is AMAZING
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#8lu-100-test-coverage" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
8LU - 100% Test Coverage
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#some-tips-i-learned-from-100-mistakes-in-go" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Some Tips I learned from 100 Mistakes in Go
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#what-can-be-summarized-from-100-go-mistakes" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
What can be summarized from 100 Go Mistakes?
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
|
@ -534,6 +612,39 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Chinese">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#100-go-mistakes-and-how-to-avoid-them" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
深度阅读之《100 Go Mistakes and How to Avoid Them
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#100-go-mistakes" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
100 Go Mistakes 随记
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#go" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
我为什么放弃Go语言?
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
|
@ -543,6 +654,30 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Japanese">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#go100-go-mistakes-and-how-to-avoid-them" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#100-go-mistakes-and-how-to-avoid-them_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
『100 Go Mistakes and How to Avoid Them』を読む
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
|
@ -552,6 +687,21 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Portuguese">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#um-otimo-livro-para-programadores-go" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Um ÓTIMO livro para programadores Go
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -598,7 +748,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -608,7 +758,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
@ -824,9 +974,7 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" hidden>
|
||||
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
||||
<div class="md-sidebar__scrollwrap">
|
||||
<div class="md-sidebar__inner">
|
||||
|
||||
|
|
@ -851,6 +999,84 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="English">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#the-best-golang-book-prime-reacts" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
The Best Golang Book | Prime Reacts
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#book-review-100-go-mistakes-and-how-to-avoid-them" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Book Review: 100 Go Mistakes (And How to Avoid Them)
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#the-most-useful-book-for-a-go-programmer" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
The Most Useful Book for a Go Programmer?
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#how-to-make-mistakes-in-go-go-time-190" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
How to make mistakes in Go - Go Time #190
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#go-is-amazing" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Go is AMAZING
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#8lu-100-test-coverage" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
8LU - 100% Test Coverage
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#some-tips-i-learned-from-100-mistakes-in-go" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Some Tips I learned from 100 Mistakes in Go
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#what-can-be-summarized-from-100-go-mistakes" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
What can be summarized from 100 Go Mistakes?
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
|
@ -860,6 +1086,39 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Chinese">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#100-go-mistakes-and-how-to-avoid-them" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
深度阅读之《100 Go Mistakes and How to Avoid Them
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#100-go-mistakes" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
100 Go Mistakes 随记
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#go" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
我为什么放弃Go语言?
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
|
@ -869,6 +1128,30 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Japanese">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#go100-go-mistakes-and-how-to-avoid-them" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#100-go-mistakes-and-how-to-avoid-them_1" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
『100 Go Mistakes and How to Avoid Them』を読む
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
|
|
@ -878,6 +1161,21 @@
|
|||
</span>
|
||||
</a>
|
||||
|
||||
<nav class="md-nav" aria-label="Portuguese">
|
||||
<ul class="md-nav__list">
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#um-otimo-livro-para-programadores-go" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Um ÓTIMO livro para programadores Go
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -900,28 +1198,48 @@
|
|||
|
||||
<h1 id="external-resources">External Resources</h1>
|
||||
<h2 id="english">English</h2>
|
||||
<h3 id="the-best-golang-book-prime-reacts">The Best Golang Book | Prime Reacts</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/a-lYYYr-5a8?si=hWm7um5GS19KVbog" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
<h3 id="book-review-100-go-mistakes-and-how-to-avoid-them">Book Review: 100 Go Mistakes (And How to Avoid Them)</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/tcRYU9g5wtw?si=2s10hXwxL7ButfRm" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
<p><a href="https://boldlygo.tech/posts/2023-08-09-review-100-go-mistakes/">Post</a></p>
|
||||
<h3 id="the-most-useful-book-for-a-go-programmer">The Most Useful Book for a Go Programmer?</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/8pqgv4_Yjq0?si=CunG1j2Uh2isXm4b" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
<h3 id="how-to-make-mistakes-in-go-go-time-190">How to make mistakes in Go - Go Time #190</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/VGOgDqDe30E?si=HErewJsxDjie92AU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
<ul>
|
||||
<li>Book Review: 100 Go Mistakes and How to Avoid Them: <a href="https://boldlygo.tech/posts/2023-08-09-review-100-go-mistakes/">Post</a>, <a href="https://www.youtube.com/watch?v=tcRYU9g5wtw">YouTube</a></li>
|
||||
<li>How to make mistakes in Go - Go Time #190: <a href="https://changelog.com/gotime/190">Episode</a>, <a href="https://open.spotify.com/episode/0K1DImrxHCy6E7zVY4AxMZ?si=akroInsPQ1mM5B5V2tHLUw&dl_branch=1">Spotify</a></li>
|
||||
<li><a href="https://youtu.be/V3FBDav6wgQ?t=1210">8LU - 100% Test Coverage</a></li>
|
||||
<li><a href="https://raygervais.dev/articles/2023/04/100_mistakes_in_go/">Some Tips I learned from 100 Mistakes in Go</a></li>
|
||||
<li><a href="https://www.sobyte.net/post/2023-05/summarized-from-100-go-mistakes/">What can be summarized from 100 Go Mistakes?</a></li>
|
||||
<li><a href="https://changelog.com/gotime/190">Episode</a></li>
|
||||
<li><a href="https://open.spotify.com/episode/0K1DImrxHCy6E7zVY4AxMZ?si=akroInsPQ1mM5B5V2tHLUw&dl_branch=1">Spotify</a></li>
|
||||
</ul>
|
||||
<h3 id="go-is-amazing">Go is AMAZING</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/iQBdVqnB0Ss?si=6lX1-oj28s_OZPwp&start=281" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
<h3 id="8lu-100-test-coverage">8LU - 100% Test Coverage</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/V3FBDav6wgQ?si=iA58zxZHQewKF6Jz&start=1210" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
<h3 id="some-tips-i-learned-from-100-mistakes-in-go">Some Tips I learned from 100 Mistakes in Go</h3>
|
||||
<p><a href="https://raygervais.dev/articles/2023/04/100_mistakes_in_go/">Post</a></p>
|
||||
<h3 id="what-can-be-summarized-from-100-go-mistakes">What can be summarized from 100 Go Mistakes?</h3>
|
||||
<p><a href="https://www.sobyte.net/post/2023-05/summarized-from-100-go-mistakes/">Post</a></p>
|
||||
<h2 id="chinese">Chinese</h2>
|
||||
<ul>
|
||||
<li><a href="https://qcrao.com/post/100-go-mistakes-reading-notes/">深度阅读之《100 Go Mistakes and How to Avoid Them</a></li>
|
||||
<li><a href="https://zhuanlan.zhihu.com/p/592602656">100 Go Mistakes 随记</a></li>
|
||||
<li><a href="https://juejin.cn/post/7241452578125824061">我为什么放弃Go语言?</a></li>
|
||||
</ul>
|
||||
<h3 id="100-go-mistakes-and-how-to-avoid-them">深度阅读之《100 Go Mistakes and How to Avoid Them</h3>
|
||||
<p><a href="https://qcrao.com/post/100-go-mistakes-reading-notes/">Post</a></p>
|
||||
<h3 id="100-go-mistakes">100 Go Mistakes 随记</h3>
|
||||
<p><a href="https://zhuanlan.zhihu.com/p/592602656">Post</a></p>
|
||||
<h3 id="go">我为什么放弃Go语言?</h3>
|
||||
<p><a href="https://juejin.cn/post/7241452578125824061">Post</a></p>
|
||||
<h2 id="japanese">Japanese</h2>
|
||||
<ul>
|
||||
<li><a href="https://qiita.com/kentaro_suzuki/items/c9c31dc81217f237433c">最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them</a></li>
|
||||
<li><a href="https://zenn.dev/yukibobier/books/066f07c8a59fa0">『100 Go Mistakes and How to Avoid Them』を読む</a></li>
|
||||
</ul>
|
||||
<h3 id="go100-go-mistakes-and-how-to-avoid-them">最近読んだGo言語の本の紹介:100 Go Mistakes and How to Avoid Them</h3>
|
||||
<p><a href="https://qiita.com/kentaro_suzuki/items/c9c31dc81217f237433c">Post</a></p>
|
||||
<h3 id="100-go-mistakes-and-how-to-avoid-them_1">『100 Go Mistakes and How to Avoid Them』を読む</h3>
|
||||
<p><a href="https://zenn.dev/yukibobier/books/066f07c8a59fa0">Post</a></p>
|
||||
<h2 id="portuguese">Portuguese</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.youtube.com/watch?v=34XShL_jWD4">Um ÓTIMO livro para programadores Go</a></li>
|
||||
</ul>
|
||||
<h3 id="um-otimo-livro-para-programadores-go">Um ÓTIMO livro para programadores Go</h3>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/34XShL_jWD4?si=WQZR3QexpwEZ9-EU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
|
||||
|
||||
|
||||
|
|
@ -937,8 +1255,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
BIN
site/img/cover-cn.jpg
Normal file
BIN
site/img/cover-cn.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
|
|
@ -21,8 +21,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Common Go Mistakes - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -319,7 +321,7 @@
|
|||
<a href="." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -520,7 +522,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -530,7 +532,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
@ -1748,6 +1750,15 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#community" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Community
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -3133,6 +3144,15 @@
|
|||
</ul>
|
||||
</nav>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="md-nav__item">
|
||||
<a href="#community" class="md-nav__link">
|
||||
<span class="md-ellipsis">
|
||||
Community
|
||||
</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
|
@ -3154,10 +3174,10 @@
|
|||
|
||||
|
||||
<h1 id="common-go-mistakes">Common Go Mistakes</h1>
|
||||
<p>This page is a summary of all the mistakes in the 100 Go Mistakes book. Meanwhile, it's also a page open to the community. If you believe that a mistake should be added, please create a <a href="https://github.com/teivah/100-go-mistakes/issues/new?assignees=&labels=community+mistake&template=community_mistake.md&title=">community mistake issue</a>.</p>
|
||||
<p>This page is a summary of the mistakes in the <a href="book/">100 Go Mistakes and How to Avoid Them book</a>. Meanwhile, it's also open to the community. If you believe that a common Go mistake should be added, please create an <a href="https://github.com/teivah/100-go-mistakes/issues/new?assignees=&labels=community+mistake&template=community_mistake.md&title=">issue</a>.</p>
|
||||
<details class="warning" open="open">
|
||||
<summary>Warning</summary>
|
||||
<p>You're currently viewing a new version that I'm enriching with significantly more content. Yet, this version is still under development; please be gentle if you find an issue, and feel free to create a PR.</p>
|
||||
<p>You're viewing a new version enriched with significantly more content. However, this version is not yet complete, and we're looking for volunteers to summarize the remaining mistakes (<a href="https://github.com/teivah/100-go-mistakes/issues/43">GitHub issue #43</a>).</p>
|
||||
</details>
|
||||
<p><a class="glightbox" href="img/inside-cover.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="" src="img/inside-cover.png" /></a></p>
|
||||
<h2 id="code-and-project-organization">Code and Project Organization</h2>
|
||||
|
|
@ -3328,10 +3348,10 @@ promoted to <code>Foo</code>. Therefore, Baz becomes available from Foo.</p>
|
|||
</span><span id="__span-5-14"><a id="__codelineno-5-14" name="__codelineno-5-14" href="#__codelineno-5-14"></a><span class="w"> </span><span class="p">}</span>
|
||||
</span><span id="__span-5-15"><a id="__codelineno-5-15" name="__codelineno-5-15" href="#__codelineno-5-15"></a><span class="p">}</span>
|
||||
</span><span id="__span-5-16"><a id="__codelineno-5-16" name="__codelineno-5-16" href="#__codelineno-5-16"></a>
|
||||
</span><span id="__span-5-17"><a id="__codelineno-5-17" name="__codelineno-5-17" href="#__codelineno-5-17"></a><span class="kd">func</span><span class="w"> </span><span class="nx">NewServer</span><span class="p">(</span><span class="nx">addr</span><span class="w"> </span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="nx">opts</span><span class="w"> </span><span class="o">...</span><span class="nx">Option</span><span class="p">)</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Server</span><span class="p">,</span><span class="w"> </span><span class="kt">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p"><</span><span class="mi">1</span><span class="p">></span>
|
||||
</span><span id="__span-5-18"><a id="__codelineno-5-18" name="__codelineno-5-18" href="#__codelineno-5-18"></a><span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="p"><</span><span class="mi">2</span><span class="p">></span>
|
||||
</span><span id="__span-5-19"><a id="__codelineno-5-19" name="__codelineno-5-19" href="#__codelineno-5-19"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">opt</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">opts</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p"><</span><span class="mi">3</span><span class="p">></span>
|
||||
</span><span id="__span-5-20"><a id="__codelineno-5-20" name="__codelineno-5-20" href="#__codelineno-5-20"></a><span class="w"> </span><span class="nx">err</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">opt</span><span class="p">(</span><span class="o">&</span><span class="nx">options</span><span class="p">)</span><span class="w"> </span><span class="p"><</span><span class="mi">4</span><span class="p">></span>
|
||||
</span><span id="__span-5-17"><a id="__codelineno-5-17" name="__codelineno-5-17" href="#__codelineno-5-17"></a><span class="kd">func</span><span class="w"> </span><span class="nx">NewServer</span><span class="p">(</span><span class="nx">addr</span><span class="w"> </span><span class="kt">string</span><span class="p">,</span><span class="w"> </span><span class="nx">opts</span><span class="w"> </span><span class="o">...</span><span class="nx">Option</span><span class="p">)</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="o">*</span><span class="nx">http</span><span class="p">.</span><span class="nx">Server</span><span class="p">,</span><span class="w"> </span><span class="kt">error</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
</span><span id="__span-5-18"><a id="__codelineno-5-18" name="__codelineno-5-18" href="#__codelineno-5-18"></a><span class="w"> </span><span class="kd">var</span><span class="w"> </span><span class="nx">options</span><span class="w"> </span><span class="nx">options</span>
|
||||
</span><span id="__span-5-19"><a id="__codelineno-5-19" name="__codelineno-5-19" href="#__codelineno-5-19"></a><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="nx">_</span><span class="p">,</span><span class="w"> </span><span class="nx">opt</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="k">range</span><span class="w"> </span><span class="nx">opts</span><span class="w"> </span><span class="p">{</span>
|
||||
</span><span id="__span-5-20"><a id="__codelineno-5-20" name="__codelineno-5-20" href="#__codelineno-5-20"></a><span class="w"> </span><span class="nx">err</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="nx">opt</span><span class="p">(</span><span class="o">&</span><span class="nx">options</span><span class="p">)</span>
|
||||
</span><span id="__span-5-21"><a id="__codelineno-5-21" name="__codelineno-5-21" href="#__codelineno-5-21"></a><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nx">err</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="kc">nil</span><span class="w"> </span><span class="p">{</span>
|
||||
</span><span id="__span-5-22"><a id="__codelineno-5-22" name="__codelineno-5-22" href="#__codelineno-5-22"></a><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="kc">nil</span><span class="p">,</span><span class="w"> </span><span class="nx">err</span>
|
||||
</span><span id="__span-5-23"><a id="__codelineno-5-23" name="__codelineno-5-23" href="#__codelineno-5-23"></a><span class="w"> </span><span class="p">}</span>
|
||||
|
|
@ -4761,6 +4781,11 @@ the use case. However, we should see the two options as complementary. </p>
|
|||
<summary>TL;DR</summary>
|
||||
<p>To help avoid CPU throttling when deployed in Docker and Kubernetes, keep in mind that Go isn’t CFS-aware.</p>
|
||||
</details>
|
||||
<h2 id="community">Community</h2>
|
||||
<p>Thanks to all the contributors:</p>
|
||||
<p><a href="https://contrib.rocks/image?repo=teivah/100-go-mistakes">
|
||||
<a class="glightbox" href="https://contrib.rocks/image?repo=teivah/100-go-mistakes" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img src="https://contrib.rocks/image?repo=teivah/100-go-mistakes" alt="Description of the image"></a>
|
||||
</a></p>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Japanese Version - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -313,7 +315,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -511,7 +513,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -521,7 +523,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
|
|
@ -17,8 +17,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Go Jobs - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -313,7 +315,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -513,7 +515,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -523,7 +525,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -2,67 +2,67 @@
|
|||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://100go.co/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/20-slice/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/28-maps-memory-leaks/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/56-concurrency-faster/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/89-benchmarks/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/9-generics/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/98-profiling-execution-tracing/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/book/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/chapter-1/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/external/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/ja/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/jobs/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://100go.co/zh/</loc>
|
||||
<lastmod>2024-02-28</lastmod>
|
||||
<lastmod>2024-03-05</lastmod>
|
||||
<changefreq>daily</changefreq>
|
||||
</url>
|
||||
</urlset>
|
||||
Binary file not shown.
|
|
@ -17,8 +17,10 @@
|
|||
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.11">
|
||||
|
||||
|
||||
<title>100 Go Mistakes</title>
|
||||
|
||||
|
||||
<title>Chinese (Simplified) Version - 100 Go Mistakes and How to Avoid Them</title>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../assets/stylesheets/main.7e359304.min.css">
|
||||
|
||||
|
|
@ -313,7 +315,7 @@
|
|||
<a href=".." class="md-tabs__link">
|
||||
|
||||
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -511,7 +513,7 @@
|
|||
|
||||
|
||||
<span class="md-ellipsis">
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</span>
|
||||
|
||||
|
||||
|
|
@ -521,7 +523,7 @@
|
|||
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
||||
<label class="md-nav__title" for="__nav_2">
|
||||
<span class="md-nav__icon md-icon"></span>
|
||||
⭐ Go Mistakes
|
||||
💡️ Go Mistakes
|
||||
</label>
|
||||
<ul class="md-nav__list" data-md-scrollfix>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue