Quantcast
Channel: Linux.org.ru: Форум (тех. форум)
Viewing all articles
Browse latest Browse all 74589

чего Донован так делает, разве это правильно?

$
0
0

Начал читать книгу «Язык программирования Go» Донован/Керниган и буквально на первом примере у меня начинаются проблемы с Донованом, т.к. Кернигана там только для названия взяли.

// Echo1 prints its command-line arguments.

package main

import (
	"fmt"
	"os"
)

func main() {
	var s, sep string
	for i := 1; i < len(os.Args); i++ {
		s += sep + os.Args[i]
		sep = " "
	}
	fmt.Println(s)
}

Ясно, что s и sep начинают существовать при инициализации с пустым значением (""), но почему он начинает использовать sep до присвоения ему значения пробела? Красоты ради, чтобы короткая строка была ниже длинной или что? Чего использовать переменную до присвоения ей рабочего значения? Это допустимо, но разве это правильно?

 


Viewing all articles
Browse latest Browse all 74589

Trending Articles