Есть ли причина, по которой кортежи, структуры и кортежи должны иметь непоследовательный синтаксис в Rust?Есть ли причина, по которой кортежи, структуры и кортежи должны иметь непоследовательный синтаксис в Rust?
Я все еще читаю инструкцию, так что может быть очевидный ответ на это, но не мог синтаксис быть объединены таким образом, чтобы все следующие законны ?:
struct {Int,Int}
struct Foo{Int,Int}
struct {a:Int,b:Int}
struct Foo{a:int,b:Int}
struct Foo{Int,a:Int,b:Int,Int}
Если есть некоторые технические причины, чтобы избежать смешения названных и неназванных параметров, вы можете сохранить безымянные параметры в() и именованные параметры в {} ...
struct (Int,Int)
struct Foo(Int,Int)
struct {a:Int,b:Int}
struct Foo{a:Int,b:Int}
struct Foo(Int,Int){a:Int,b:Int}
ли ржавчина есть какие-либо ограничения выглядят опережающего как Go делает? Синтаксис Go сильно зависит от правила с одним маркером; это может объяснить «* фактическое ограничение *» - в отношении смешивания Tuples (порядковые элементы)/Records (названные элементы). В большинстве языков нет такого гибрида, где ограничение «* design *» не поддерживается построить. – user2864740
Что будет делать 'struct (Int, Int)'? На самом деле не имеет смысла объявлять неназванный тип. – huon
Возможно, это возможно *, но почему вы хотите объединить структуры и кортежи? Это разные объекты, предназначенные для разных целей. – Levans