В GO, как объявить возвращаемые переменные функции WITH TYPE?Golang: Как объявить возвращаемые переменные С ТИПОМ?
например. У меня этот код
dat, err := ioutil.ReadFile("/tmp/dat")
check(err)
fmt.Print(string(dat))
но то, что я хочу это:
var dat []byte, err error := ioutil.ReadFile("/tmp/dat")
check(err)
fmt.Print(string(dat))
Однако, независимо от того, как я стараюсь, я только получаю этот выход
syntax error: unexpected comma, expecting semicolon or newline or }
Я работаю без IDE, и по мере увеличения числа переменных, действительно, идиотский должен хранить все типы возвращаемых значений в краткосрочной памяти ... не говоря уже о том, что кто-то еще должен прочитать код.
Как я могу объявить возвращаемый тип набора с типом?
Это действительно объясняет, почему никто этого не делает. Однако синтаксис Cleaner будет объявлять типы. Это всего лишь менее подробный синтаксис, который достигает своей цели, скрывая релевантную, не избыточную информацию, которая не является тем же IMHO. –
@StefanSteiger да, это правда. Этот последний комментарий полностью субъективен. Это то, что наиболее распространено в Go, хотя. Я согласен с тем, что это может раздражать, потому что вам нужно взглянуть на документы/перейти к реализации, чтобы узнать, какие типы назначаются. Я предпочитаю немного более подробный синтаксис, хотя я не знаю, будет ли он работать с множественными типами возврата Go. In say C# Я категорически против объявления с помощью 'var' вместо того, чтобы предоставлять тип на LHS. – evanmcdonnal
Так верно для C#. Например, в кодовом представлении вы сразу увидите, когда у вас есть IDatareader something = GetSomething(), но когда у вас есть только var something = GetSomething(), вы никогда не заметите, что ему не хватает распоряжения или использования. –