apt install xubuntu-desktop
, например.package main
import (
"bufio"
"fmt"
"os"
"sync"
)
func main() {
urls := make(chan string)
go fillChannel(urls)
// создаем группу для ожидания, того, что все воркеры завершены
wg := &sync.WaitGroup{}
for i := 0; i < 5; i++ {
// при запуске каждого воркера, увеличиваем счетчик в группе на 1
wg.Add(1)
go requestWorker(urls, wg)
}
// ждем, пока счетчик в группе не будет равен 0
wg.Wait()
}
func requestWorker(channel <-chan string, wg *sync.WaitGroup) {
// По завершении воркера счетчик в группе будет уменьшен на 1
defer wg.Done()
// Заодно пишем сообщение о завершении воркера
defer println("Worker stopped")
// Постоянно читаем из канала новые сообщения
// цикл автоматически завершится, когда канал закроется и буфер будет пуст
for url := range channel {
println(url)
}
}
func fillChannel(channel chan<- string) {
file, err := os.Open("data.txt")
defer file.Close()
if err != nil {
fmt.Println(err)
return
}
fileScanner := bufio.NewScanner(file)
fileScanner.Split(bufio.ScanLines)
for fileScanner.Scan() {
channel <- fileScanner.Text()
}
// закрываем канал, когда данные кончились
// в го принято, чтобы канал закрывал только тот, кто в него пишет
close(channel)
}
package main
import (
"fmt"
"github.com/gocolly/colly"
)
type Car struct {
CarName string
BodyCar string
ReleaseYear string
Color string
DriveUnit string
EngineVolume string
Mileage string
State string
FuelType string
CustomsClearedInRT string
Transmission string
Price string
Url string
}
func main() {
scrapURL := "https://somon.tj/adv/8960821_tesla-model-y-2022/"
c := colly.NewCollector(
colly.AllowedDomains("www.somon.tj", "somon.tj"),
)
var carAttributes []string
c.OnHTML(".chars-column li a", func(h *colly.HTMLElement) {
carAttributes = append(carAttributes, h.Text)
})
c.Visit(scrapURL)
car := Car{}
car.BodyCar = carAttributes[0]
car.ReleaseYear = carAttributes[1]
car.Color = carAttributes[2]
car.DriveUnit = carAttributes[3]
car.EngineVolume = carAttributes[4]
car.Mileage = carAttributes[5]
car.State = carAttributes[6]
car.FuelType = carAttributes[7]
car.Transmission = carAttributes[8]
fmt.Println("Наша тачка -", car)
}
go mod edit -replace github.com/orig/pkg v1.0.0=github.com/my/fork/pkg v1.0.0
go mod edit -replace github.com/orig/pkg v1.0.0=/local/path/onyourmachine
go mod edit -dropreplace github.com/orig/pkg v1.0.0
replace github.com/orig/pkg v1.0.0 => github.com/my/fork/pkg v1.0.0
Вводят какие-то санкции, где России перестанут оказывать IT услуги, что это значит? Я не смогу зайти на иностранные сайты, например YouTube, не смогу купить Windows, не смогу скачивать иностранное ПО?
ServerName test1.loc
ServerAlias test2.loc www.test2.loc www.test1.loc