Теоретически — хреново. Практически — никак. Есть разные плагины подсветки синтаксиса и автозавершения, но все они работают так, что лучше их не использовать :)
Ничего страшного. Смотрите под другим углом — у какой реализации не бывает проблем с long-live или memory-leaks? Ну и если почитать issue вниимательно, то проблема происходит при определённых условиях, мягко говоря редких для web-dev. Причём это тот самый случай, когда программист использует Go калькой другого языка, не учитывая его специфики.
Надо было тоже начинать с юридического образования! :)
Я часто повторяю, что между юристами и программистами общего больше, чем кажется на первый взгляд. Обе категории приучаются к логичному мышлению, но с умением обходить правила. И те, и другие грызут множество толстенных книг, которые имеют дурную тенденцию быстро устаревать.
package main
import (
"log"
"net/smtp"
)
func main() {
auth := smtp.PlainAuth("", "user@example.com", "password", "mail.example.com", )
err := smtp.SendMail("mail.example.com:25", auth, "sender@example.org",[]string{"recipient@example.net"},[]byte("This is the email body."), )
if err != nil {log.Fatal(err)}
}
Минусы за что не знаю, но предположу, что ваш комментарий восприняли за своеобразный троллинг или стёб. Как фразу «а чего бы не изобрести до кучи и карманный стеллар-конвертор»?
Если по сути, то весьма затруднительно трансляция кода PHP в GO — у языков слишком разные архитектура и подходы к решению задач. В лучшем случае вы получите код того же качества, какой получается при переводе книги Google Translate. И правка займёт времени больше, чем переписывание того же кода с нуля и ручками.
Просто для примера. В PHP динамическая типизация, а в Go — строгая. И это лишь первый камень. Кроме того вы забываете о том, в каком мире мы живём. Никого на рынке особо не волнуют проблемы отстающих. Если у нас в руках есть инструмент, обеспечивающий преимущество, то зачем нам плодить себе конкурентов, упрощая им вход в сегмент?
Имхо, в goroutines и по идее не стоит запихивать слишком лёгкие ответвления. Проще их выполнить в основном потоке. В GR я обычно запихиваю логгинг или запись в базу того, что не требует вывода подтверждения.
О, как. Это у меня кусок комментария пропал. Я про Idea, а Netbeans тоже весьма тормозной. Я люблю работать в самых разнообразных и малоподходящих для этого местах, а ноутбуки в режиме энергосбережения тормозят изрядно, что особенно сказывается на прожорливых Java-пакетах.
Я вообще хотел предложить развёртывание на платформе Google App Engine, но банальное отстутствие ещё одной сим-карты для авторизации SMS-кой перечеркнуло эту возможность. Да и быстродействие там хромает, откровенно говоря. Но надо бы, надо бы предоставить читателям и такую возможность. В конце концов GAE предоставляет неплохие технические возможности для стартапов с нулевым бюджетом. Буду надеяться, что кто-нибудь предложит стоящую идею проекта, чтобы продемонстрировать ещё и особенности работы с Гуглохранилищем.
На каждый запрос или на передачу хэндлеру, уж простите что сам сейчас в сорцы не полезу.
Я часто повторяю, что между юристами и программистами общего больше, чем кажется на первый взгляд. Обе категории приучаются к логичному мышлению, но с умением обходить правила. И те, и другие грызут множество толстенных книг, которые имеют дурную тенденцию быстро устаревать.
package main import ( "log" "net/smtp" ) func main() { auth := smtp.PlainAuth("", "user@example.com", "password", "mail.example.com", ) err := smtp.SendMail("mail.example.com:25", auth, "sender@example.org",[]string{"recipient@example.net"},[]byte("This is the email body."), ) if err != nil {log.Fatal(err)} }Если по сути, то весьма затруднительно трансляция кода PHP в GO — у языков слишком разные архитектура и подходы к решению задач. В лучшем случае вы получите код того же качества, какой получается при переводе книги Google Translate. И правка займёт времени больше, чем переписывание того же кода с нуля и ручками.
Просто для примера. В PHP динамическая типизация, а в Go — строгая. И это лишь первый камень. Кроме того вы забываете о том, в каком мире мы живём. Никого на рынке особо не волнуют проблемы отстающих. Если у нас в руках есть инструмент, обеспечивающий преимущество, то зачем нам плодить себе конкурентов, упрощая им вход в сегмент?