Мало знаний о Голанге? Вот сотни высококачественных статей на Golang | Go Theme Month

задняя часть Go

1. Зарождение, развитие и популяризация языка Go

1. Изучайте язык Го

Введение в Golang и установка среды | Серия учебных пособий по Golang | Go Theme Month](Наггетс.Талант/пост/694249…)

1.1 Происхождение языка Go

1.2 Основные возможности и среда разработки языка Go

1.3 Обзор распространенных ошибок в языке Go

1.4 Рекомендации по книге Голанг

  • 1.4.1 Руководство по началу работы Оно больше подходит для новичков, а содержание относительно простое.
  • 1.4.2 Библия языка Go, как следует из названия
  • 1.4.3 Китайский веб-сайт Go Language Найдите нужный кружок и учитесь быстрее
  • 1.4.4 Учебник для новичков Этот веб-сайт очень удобен для быстрого начала изучения языка.
  • 1.4.5 Продвинутое программирование на языке Go Контент подходит для продвинутых
  • 1.4.6 Язык go изначально был разработан Oushen.Хотя прогресс составляет всего 9,9%/100%, это не мешает его совершенству.На него стоит посмотреть.
  • 1.4.7 шаблон проектирования golang шаблон проектирования реализация Golang, реализация golang «шлифовального шаблона проектирования»
  • 1.4.8 Go практическая разработка Автор является автором известного проекта Beego с открытым исходным кодом Go, и его лучшие практики стоит прочитать.
  • 1.4.9 Go palyground Пишите код Go онлайн без создания локальной среды Go

1.5 Проект с открытым исходным кодом на языке Go

  1. xgen — базовая библиотека для написания инструментов XSD, определяющих XML-схемы как многоязычный или декларативный код.
  2. GQLEngine — высокопроизводительный фреймворк сервера GraphQL на языке Go
  3. Orange — это фреймворк для веб-разработки, основанный на языке Golang.
  4. Go-admin — фреймворк для быстрого создания визуального фона управления данными на основе Golang.
  5. Go-snowflake Алгоритм снежинки, реализованный на языке Go, реализует уникальный идентификатор для распределенных систем и может генерировать 20 идентификаторов за 1 с в тесте на одной машине.
  6. KubeVela — это простая в использовании и хорошо масштабируемая платформа управления приложениями и основной движок.
  7. TiDB — это база данных, которую вы захотите выбрать, увидев узкое место в производительности mysql.
  8. EasyMIDI EasyMidi — простая и надежная библиотека для работы со стандартными миди-файлами (SMF).

1.6 Перейти к установке локали

ссылка для скачивания:www.golangtc.com/download

GOPATH

2. Перейти к настройкам рабочей среды

1. Редактор

- Jetbrains GoLand  强烈推荐
- Jetbrains IDEA + go插件
- VS Code
- Atom
- liteide
- Sublime Text

2. Управление зависимостями

- glide
	- 安装:<https://glide.sh/>
	- 初始化
	- 依赖下载
- mod

3. Перейти к выпуску исходного кода

3. Пакеты, функции, переменные, константы, типы данных

1. Пакет, связанный с

Советы по использованию пакета json языка Go

1.1 Пакет

До свидания, ГОПАТ! Введение в управление пакетами в новой версии Golang

Инструмент управления пакетами Go (1)

Пакет текста/шаблона стандартной библиотеки языка Go, объясненный простым языком

Детали закрытия языка Go

Govendor руководство по использованию инструмента управления пакетами Go

1.2 Сторонние пакеты

1.3 Заявления об импорте

1.3.1 Сгруппированные операторы импорта

1.3.2 Множественные операторы импорта

1.4 Имя экспорта

Пакет синтаксиса Go, пакет импорта, имя экспорта

2. Функция, связанная

Перейти язык от новичка к профессионалу: функции

2.1 Работа функции

[Перевод] Парсинг вызовов функций в Go

[Перевод] Функция Go вызывает Redux

функция инициализации в Go

Существует ли передача параметра функции по ссылке в Golang?

Краткое введение в функциональное программирование на Golang

С точки зрения стратегии распределения памяти (куча, стек) действительно ли более эффективно передавать указатели, чем значения?

Статья, объясняющая функции в Go

2.2 Функции с несколькими возвращаемыми значениями

Видя несколько возвращаемых значений функций golang через ассемблер | 🏆 Технический специальный выпуск 2 Call for Papers

2.3 Функциональные значения

2.3.1 Закрытие функций

Детали закрытия языка Go

В заметках по изучению Go нужен только пример, чтобы объяснить, что такое замыкания.

GO-Три аспекта понимания замыканий

Реализация замыкания в Go

3. Переменные

3.1 Введение в переменные

Сведения о настройке переменной среды Golang

Как инициализировать переменные в Go

Параллельные переменные общей памяти Golang

Golang с нуля: соглашения об именах, переменные и константы

[Go Learning Road] Переменные Go

Влияние переменной среды CGO_ENABLED на механизм статической компиляции Go

Вопросы на собеседовании в Golang: как Reflect (пакет отражения) получает тег поля? Почему пакет json не может экспортировать теги частных переменных?

3.2 Инициализация переменных

3.3 Краткие объявления переменных

Краткое объявление переменной в GO

3.4 Нулевое значение

Объявлениям переменных без явных начальных значений присваивается их нулевое значение

Что говорится в книге по программированию: «Программисты Go должны сделать нулевое значение агрегатных типов также значимым»?

Нулевое значение Golang, нулевое значение и пустая структура

  • Нулевое значение:
    • Числовой тип 0
    • логический тип ложный
    • Строка "" (пустая строка)
  • Связь между нулевыми и нулевыми значениями
  • Разница между нулевым значением нуля

4. Константы

4.1 Константы

Golang начинается с нуля (2): соглашения об именах, переменные и константы

Обучение Голангу - постоянная константа и ота

Расширенный 1: сравнение типов, константа, NIL

4.2 Числовые константы

5. Основные типы

5.1 bool

5.2 string

Как перехватить строку в Go? Перехватывать английские и китайские строки

Разница между строкой серии Go, байтами, руной

Объясните использование ReplaceAllString в пакете регулярных выражений Go.

Преобразование целочисленных и строковых строк в Go

Строка, которую вы не знаете в голанге

Введение в стандартную библиотеку Go 1: строки

Реализация интерфейса пакета golang fmt String(), Error(), Format(), GoString()

5.3 int int8 int16 int32 int64uint uint8 uint16 uint32 uint64 uintptr

Преобразование между int, int64 и string в Golang (перевод)

Оказывается, это Go Interface

Глубокое понимание интерфейса интерфейса Golang

От Coid Customization, разговаривайте о развязке интерфейса и GRPC

Вопросы для интервью с Golang: Можете ли вы рассказать о разнице между uintptr и unsafe.Pointer?

Принцип реализации MulUintptr в Golang

5,4 байта // псевдоним для uint8

Разница между строкой серии Go, байтами, руной

Преобразование между массивом байтов []byte и строковой строкой в ​​​​Go

Строки, байты и руны — просто изучаем Go

строки, байты, руны и символы в go

5.5 рунический код юникода

Разница между строкой серии Go, байтами, руной

Преобразование между рунами и строками в Голанге (перевод)

Строки, байты и руны — просто изучаем Go

Основополагающий принцип и анализ взаимного преобразования []byte, string и []rune в Golang

5.6 float32 float64

5.7complex64 complex128

5.8 Преобразование типов

Перейти к базовому преобразованию типов

Резюме четырех преобразований типов в golang

Проблема преобразования типа time.Duration в Golang

5.9 Тип разборки

В-четвертых, оператор управления потоком

Операторы управления потоком: for, if, else, switch, defer

1. Оператор цикла

1.1 for

1.1.1 для цикла

Вчерашний коллега, который добавил элемент в цикл for, все еще там сегодня?

Golang High Concurrency Programming Наиболее распространенные ошибки при использовании горутин в циклах For

Оптимизация производительности языка Go — для исследования производительности Range

[Голанг] Вы должны знать эти ямы для стрельбы, железный сок

1.1.2 Оператор инициализации

1.1.3 Условные выражения

Об области действия переменных в условных выражениях if-else

1.1.4 Условия цикла

1.1.5 Пост-выписки

2. Оценка утверждения

2.1 IF

2.1.1 Краткое выражение if

2.1.2 если и еще

2.2 switch

Управление языковым потоком Go: switch-case

[перевод] часть 10: оператор переключения golang

порядок оценки переключателя

3. Postcall - отсрочка

3.1 defer

   При выполнении функции, содержащей оператор отсрочки, будет выполнена функция после отсрочки -推迟调用

   Выполнение нескольких операторов defer в функции, порядок их выполнения противоположен порядку объявления.

3.1.1 Принцип

   Отложенные вызовы функций помещаются всередина. Когда внешняя функция возвращается, отложенные функции вызываются в порядке LIFO.

Перейти к отложенной функции defer в деталях

иди изучай заметки, чтобы разобраться с функцией задержки отсрочки

Пять, базовая структура данных

1. Указатель

   В Go есть указатели. Указатель содержит адрес памяти значения.

Исследование Golang: правильное использование типов указателей Golang

Тщательно изучите указатели Go — изучите язык Go

Яма данных указателя диапазона в Golang

Указатели Golang: использование методов, функций и операций

Тип реализации отражения Go и копия указателя

2. Структура

   Структура — это набор полей.

golang | Вводный курс по языку Go — инициализация структуры и наследование

15. Понимание объектно-ориентированного программирования в Go: структуры и наследование

Всеохватывающие структуры — изучите Go

Пользовательская структура Golang для отображения

2.1 Поля структуры

  Поля структуры обозначаются через точку

Пользовательская структура Golang для отображения

2.2 Указатель структуры

   Доступ к полям структуры можно получить с помощью указателей структуры

2.3 Объявление структуры

   Объявление структуры может заново выделять структуру, непосредственно перечисляя значения полей.

3. Массив

  Type[n]T представляет собой массив с n значениями типа T.

Как дедуплицировать фрагменты массива в Go

Урок 4 «Учитесь работать быстро» — Неброские массивы

Преобразование слайса в массив C

Преобразование между массивом байтов []byte и строковой строкой в ​​​​Gonuggets.capable/post/684490…

4. Нарезка

   Размер каждого массива фиксирован. Срезы, с другой стороны, обеспечивают гибкие представления элементов массива с динамическими размерами. На практике срезы используются чаще, чем массивы.

Углубленный анализ трех особых состояний «среза» в языке Go

(серьезная версия) Интервьюер: Срез как параметр функции передается по значению или по ссылке?

Советы по нарезке

Как использовать емкость и длину среза в Go

4.1 Определение среза

Срез    подобен массиву ссылок, срез не хранит данные напрямую, он просто описывает сегмент базового массива.

4.2 Грамматика среза

   Грамматика среза аналогична грамматике массива без длины.

4.3 Поведение слайсов по умолчанию

4.4 Длина и вместимость ломтиков

4,5 ноль кусочков

Непонятно даже, чем нулевые слайсы отличаются от пустых слайсов? Затем интервьюеру BAT пришлось попросить вас вернуться и дождаться уведомления.

4.6 Создание слайсов с помощью make

4.7 Нарезка ломтиками

Слайсы могут содержать любой тип, даже другие слайсы.

4.8 Добавление элементов в слайс

4.9 range

Форма диапазона цикла for проходит по срезу или карте.

5. Карта

параметры автоматического сопоставления джина и автоматическая проверка

Серия PHP to Go: сопоставление карт

5.1 Грамматика карт

5.2 Изменить сопоставление

5. Методы и интерфейсы

1. Метод

  • указательный приемник
  • метод и перенаправление указателя
  • выбрать значение или указатель в качестве получателя

2. Интерфейс

2.1 Понимание интерфейса

Глубокое понимание интерфейса интерфейса Golang

Подробное объяснение интерфейса языка Go (1)

Подробный интерфейс языка Go (b)

2.2 Интерфейсы и неявные формы

2.3 Значения интерфейса

2.3.1 нулевое значение интерфейса

Перейти «Интерфейс, содержащий нулевой указатель, не является нулевым интерфейсом»

2.3.2 Пустой интерфейс

31. Расскажите о пустых интерфейсах в Go

2.4 Утверждение типа интерфейса

14. Что такое утверждение типа в языке Go?

Разговор об утверждении типа в golang

2.5 Выбор типа интерфейса

2.6 Stringer

6. Исключение ошибки

1. Ошибка

Рекомендуемое решение для обработки ошибок на языке Go (golang)

Прорыв ошибки Golang

[Перевод] Часть 31: Пользовательские ошибки в golang

[Перевод] Обработка ошибок пакета ошибок Go 1.13

Семь, IO читать

1. Reader

Самая подробная статья Golang — разница между Reader и ReaderAt, если делаете хранилище, не ошибитесь;

2. Изображение

golang картинка капчаперепечатывать

3. Блокировка и неблокировка

Различные жесты блокировки навсегда в Голанге

Golang реализует легкую и быструю неблокирующую сетевую библиотеку TCP на основе режима Reactor.

4. Синхронный против асинхронного

Интервьюер попросил меня использовать канал для реализации блокировки синхронизации в пакете синхронизации, это намеренно смущает меня?

Visual Studio Live Share — синхронизируйте и делитесь кодом с коллегами по команде, а также редактируйте его на лету.

kingtask: облегченная система асинхронных задач, разработанная Go

Поговорите об асинхронности Python, Golang, Nodejs в простом веб-чате

5. Select

Глубокое понимание принципов go-channel и select

8. Параллелизм

1. Корутина, связанная с

Механизм планирования сопрограмм Golang и настройка производительности GOMAXPROCS

Перейти к параллельному анализу планировщика для реализации пула сопрограммперепечатывать

2. Атомарность, видимость, порядок

Ядро параллельного программирования Golang — видимость памяти

3. Контроль параллелизма

Углубленный golang - контроль параллелизма и связь с горутинами

Управление параллелизмом через контекст в переводе Go

горутина и канал go concurrency, введение в управление параллелизмом

9. Особенности языка

1. Goroutine

2. Channel

Go Language Trip - принцип планирования горутин ядерных вооружений Голанга и подробное объяснение канала

Golang — горутина (coroutine) и канал (pipe)

Глубокое понимание канала Голанга

3. Модель GMP

Глубокое понимание канала Голанга

GMP-модель планировщика Golang

тайна go concurrency: модель GMP

Анимированная иллюстрация! Почему в модели GMP есть P?

10. Каркас

1. Веб-фреймворк

Медленный разговор о распространенных платформах веб-разработки Go | Месяц тем Go

1.1 Revel

1.2 Beego

1.3 Martini

1.4 Gin Gonic

1.5 Buffalo

1.6 Goji

1.7 Tiger Tonic

1.8 Gocraft

1.9 Mango

1.10 GORM

2. Микросервисная структура

2.1 go-kit

2.2 Micro

2.3 go-zero

2.4 gRPC

Руководство для начинающих по Go RPC 1: где границы использования RPC? Как реализовать кросс-язычный вызов

Одиннадцать, анализ производительности

1. Анализ производительности языка Go

анализ производительности go pprof

Анализ производительности программы Go 101

golang использует pprof и go-torch для анализа производительности

Многомерное мышление: как сократить время разработки проекта, повысить безопасность и повысить скорость работы, а также несколько аспектов мышления.

XII устранение неполадок

Тринадцать, интервью Голанга

Синусоидальная загрузка ЦП для контроля языка Go | Месяц темы Go