Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабынан сөз тіркестері  Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go

Evgeny Voynolovich
Evgeny Voynolovichдәйексөз келтірді1 жыл бұрын
Также помните, что сказал об оптимизации Джо Армстронг, один из разработчиков Erlang: «Сначала сделай так, чтобы это работало, потом сделай так, чтобы оно было красивым, и только потом, если это действительно нужно, сделай так, чтобы оно работало быстро. В 90 % случаев, если ты сделаешь это красивым, оно само по себе будет работать быстро. Поэтому просто сделай это по-настоящему красивым!»
10 Ұнайды
Комментарий жазу
Nika
Nikaдәйексөз келтірді2 жыл бұрын
https://github.com/PacktPublishing/Mastering-Go-Second-Edition
4 Ұнайды
Комментарий жазу
Никита Тищиков
Никита Тищиковдәйексөз келтірді4 ай бұрын
https://github.com/PacktPublishing/Mastering-Go-Second-Edition
2 Ұнайды
Комментарий жазу
Evgeny Voynolovich
Evgeny Voynolovichдәйексөз келтірді1 жыл бұрын
«Сначала сделай так, чтобы это работало, потом сделай так, чтобы оно было красивым, и только потом, если это действительно нужно, сделай так, чтобы оно работало быстро. В 90 % случаев, если ты сделаешь это красивым, оно само по себе будет работать быстро. Поэтому просто сделай это по-настоящему красивым!»
1 Ұнайды
Комментарий жазу
arnat a.
arnat a.дәйексөз келтірді6 күн бұрын
https://github.com/golang/go/blob/master/src/runtime/mgc.go
Комментарий жазу
Кристина
Кристинадәйексөз келтірді2 апта бұрын
Тип данных error
Комментарий жазу
Кристина
Кристинадәйексөз келтірді2 апта бұрын
В этом разделе вы узнаете, как указать в журнальном файле номер строки исходного файла, который выполнил инструкцию, сделавшую запись в журнал. Для этого рассмотрим Go-программу из файла customLogLineNumber.go, разделив ее на две части. Первая часть выглядит так: package main import ( "fmt" "log" "os" ) var LOGFILE = "/tmp/mGo.log" func main() { f, err := os.OpenFile(LOGFILE, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { fmt.Println(err) return } defer f.Close()
Комментарий жазу
Кристина
Кристинадәйексөз келтірді2 апта бұрын
Последняя часть customLog.go выглядит следующим образом: iLog := log.New(f, "customLogLineNumber ", log.LstdFlags) iLog.SetFlags(log.LstdFlags) iLog.Println("Hello there!") iLog.Println("Another log entry!") } Если вы посмотрите на страницу документации пакета log, которую можно найти по адресу https://golang.org/pkg/log/, то увидите, что функция SetFlags позволяет устанавливать выходные флаги (варианты) для текущего средства журналирования. По умолчанию функция предлагает значения LstdFlags: Ldate и Ltime, то есть в каждой записи журнала, которая записывается в журнальный файл, будут указаны текущая дата и время.
Комментарий жазу
Кристина
Кристинадәйексөз келтірді2 апта бұрын
Всю магию выполняет оператор iLog.SetFlags(log.LstdFlags|log.Lshortfile), который, кроме log.LstdFlags, также активизирует флаг log.Lshortfile. Последний добавляет в строку записи журнала полное имя файла, а также номер строки Go-оператора, который создал эту запись.
Комментарий жазу
Кристина
Кристинадәйексөз келтірді2 апта бұрын
Вторая часть customLog.go выглядит следующим образом: func main() { f, err := os.OpenFile(LOGFILE, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { fmt.Println(err) return } defer f.Close() Здесь мы создаем новый журнальный файл, используя функцию os.OpenFile() с необходимыми правами доступа к UNIX-файлам (0644). Последняя часть customLog.go выглядит следующим образом: iLog := log.New(f, "customLogLineNumber ", log.LstdFlags)
Комментарий жазу