Функции способные принять произвольное количество аргументов, на самом деле принимают один -- слайс.
Лучше всего рассматривать срезы как массив переменной длины
value := math.MaxInt16
language := "-Go-"
fmt.Printf("value = %v, language = %s\n", value, language)
value, ok := products["Hat"]
fmt.Printf("value: %s , ok= %s\n", value, ok)
Функции способные принять произвольное количество аргументов, на самом деле принимают один -- слайс.
package main
import "fmt"
func main() {
fmt.Println("Hello world !")
fmt.Println("go" + "lang")
fmt.Println("1+1 =", 1+1)
fmt.Println("4.0/2.0 =", 4.0/2.0)
fmt.Println("7.0/2.0 =", 7.0/2.0)
fmt.Println("true && false = ", true && false)
fmt.Println("true || false = ", true || false)
fmt.Println("!true = ", !true)
}
C:\>cd /d "D:\_PROJECTS\Golang projects\src\hello_world"
D:\_PROJECTS\Golang projects\src\hello_world>test.exe
Hello world !
golang
1+1 = 2
4.0/2.0 = 2
7.0/2.0 = 3.5
true && false = false
true || false = true
!true = false
тут что ли ?