package main
import "fmt"
import "time"
func getDataFromServer(res chan string, serverName string, delay int64) {
fmt.Println(serverName)
time.Sleep(time.Duration(delay)*time.Second)
res <- "test_"+serverName
}
func main() {
res := make(chan string, 3)
go getDataFromServer(res, "Server1", 10)
go getDataFromServer(res, "Server2", 11)
go getDataFromServer(res, "Server3", 12)
data := <- res
fmt.Println(data)
}
Server3
Server1
Server2
test_Server1
package main
import "fmt"
import "time"
func getDataFromServer(res chan string, serverName string, delay int64) {
fmt.Println(serverName)
time.Sleep(time.Duration(delay)*time.Second)
res <- "test_"+serverName
}
func main() {
res := make(chan string, 3)
go getDataFromServer(res, "Server1", 15)
go getDataFromServer(res, "Server2", 11)
go getDataFromServer(res, "Server3", 12)
data := <- res
fmt.Println(data)
}
Server3
Server1
Server2
test_Server2
package main
import mypackage
func init() {
... что-то сделали, что-то инициализировали, например доступ к базе или ещё чему
... ещё что-то инициализировали...
... начинаем инициализировать mypackage
mypackage.DB = DB // проинициализировали доступ в базу в пакете:)
mypackage.Other = Other // ещё что-то проинициализировали в пакете...
}
func main() {
... другой вопрос что можно и так, но в этом случае в пакете чуть больше логики...
obj := package.Init()
obj.SetDB(DB)
obj.SetOther(Other)
go obj.Start()
}
Examples
Here are some example one-line templates demonstrating pipelines and variables. All produce the quoted word "output":{{"\"output\""}} A string constant. {{`"output"`}} A raw string constant. {{printf "%q" "output"}} A function call. {{"output" | printf "%q"}} A function call whose final argument comes from the previous command. {{printf "%q" (print "out" "put")}} A parenthesized argument. {{"put" | printf "%s%s" "out" | printf "%q"}} A more elaborate call. {{"output" | printf "%s" | printf "%q"}} A longer chain. {{with "output"}}{{printf "%q" .}}{{end}} A with action using dot. {{with $x := "output" | printf "%q"}}{{$x}}{{end}} A with action that creates and uses a variable. {{with $x := "output"}}{{printf "%q" $x}}{{end}} A with action that uses the variable in another action. {{with $x := "output"}}{{$x | printf "%q"}}{{end}} The same, but pipelined.
func (t *Template) Delims(left, right string) *Template