Свързани публикации 'golang'
Go Routines vs Threads
Go е популярен език за програмиране, който е разработен в Google през 2007 г. Една от ключовите характеристики на Go е неговата поддръжка за едновременно програмиране чрез използване на goroutines.
Goroutines често се сравняват с нишки, но има някои ключови разлики между двете. В тази публикация в блога ще изследваме разликите между goroutines и нишки.
Първо, нека започнем с кратко обяснение какво представляват goroutines и threads. Горутините са леки, независимо изпълняващи се..
Няма време като сега
Няма време като сега
Go Brain Teaser
Какво мислите, че ще отпечата следната програма?
t1 := time.Now()
data, err := json.Marshal(t1)
if err != nil {
log.Fatal(err)
}
var t2 time.Time
if err := json.Unmarshal(data, &t2); err != nil {
log.Fatal(err)
}
fmt.Println(t1 == t2)
Тази програма ще отпечата: false .
Защо? Има ли грешка в пакета encoding/json ?
Нека да разгледаме дефиницията на time.Time (взета от тук ):
type Time struct {
// ... (redacted)
//..
Разбиране на Go: Изследване на структури и методи
Въведение:
Go е статично типизиран, компилиран език за програмиране, който предлага уникален подход към обектно-ориентираното програмиране. За разлика от езици като C++ или Java, Go няма традиционни класове. Вместо това, той използва структури и методи за постигане на подобна функционалност. В тази публикация в блога ще се задълбочим в кодов фрагмент, написан на Go, и ще обясним как работи стъпка по стъпка.
Обяснение на кода:
Нека анализираме предоставения кодов фрагмент на Go и..
Серия Go: Научаване как да изградите уеб услуга с помощта на Go от нулата Pt. 13 — Маршрути
Имаме нашия контролер. Сега е въпрос на факт, че трябва да го свържем с някакъв маршрут.
Не забравяйте, че имаме UserController структура и NewUserController метод за създаване на тази структура.
Тъй като вече сме дефинирали маршрутите като такива
func NewUserController(r *gin.Engine, userManager *managers.UserManager) {
userController := UserController {
Manager: userManager
}
userGroup := r.Group("/user") // localhost:8080/user/......
// mapping..
LeetCode — Минимизиране на максималната сума на двойки в масива
Постановка на проблема
Сборът на чифт (a, b) е равен на a + b . Максималната сума на двойки е най-голямата сума на двойки в списък с двойки.
Например, ако имаме двойки (1, 5) , (2, 3) и (4, 4) , максималната сума на двойките ще бъде max(1 + 5, 2 + 3, 4 + 4) = max(6, 5, 8) = 8 .
Даден е масив nums с четна дължина n , сдвоете елементите от nums в n / 2 двойки, така че:
Всеки елемент от nums е в точно една двойка и Максималната сума на чифта е минимизирана..
Генерирайте Excel файлове с GoLang
Excel файловете се използват широко за манипулиране и анализ на данни. В тази статия ще проучим как да генерираме Excel файлове програмно с помощта на GoLang. Простотата и гъвкавостта на GoLang го правят отличен избор за тази задача. Ще преминем през процеса стъпка по стъпка и ще ви предоставим примери за код, за да започнете.
Go tricks Иска ми се да знаех по-рано
Добре дошъл обратно! Go (или Golang) е страхотен език за програмиране, който изглежда се разраства бързо, едва наскоро започнах да програмирам с този език, така че нека поговорим за някои трикове на Go, които ми се искаше да знаех по-рано, когато започнах преди няколко месеца.
Обработка на грешки
Функция, която Go има, е panic, тази специфична функция ви позволява да представите грешка във вашата среда. Едно нещо, което трябва да имате предвид, не е много обичайно да използвате..