4 ms·
I don't think there would be a simpler way of describing a type as complex as "a pointer to a slice of pointers to FooType". Simpler variables are declared as
by Jabbles 14y ago
I don't think there would be a simpler way of describing a type as complex as "a pointer to a slice of pointers to FooType".
Simpler variables are declared as
var a int
or with type inference:
var a = 10
- smosher 14y agoTwo examples come to mind: [FooType] and: Slice<FooType> If you think you must, apply sigils. The position of the brackets in the Go version is atypically bad for readability.
- Jabbles 14y agoI don't understand. Where do your examples say they're pointers? How would you express this using your first syntax? *[4]*FooType
- svachalek 14y agoThe first is or could be Haskell. The length of a list is not part of its type. The second looks like Java, ditto there (although built-in arrays have a different syntax). Haskell does not have mutability at all and thus no "pointers". In Java the insides of containers are mutable so you'd have to add an outer array or list. In either case though you don't need pointers to simply pass things around as you do in C (I don't know about Go).
- smosher 14y agoWhere do your examples say they're pointers? They don't, it's inferred in my examples. Like I said, if you need them, you can use whatever sigils you want. They can go in front of the types as usual. How would you express this using your first syntax? I wouldn't. That syntax is decidedly inappropriate for vectors that incorporate length into the type.
- kevinnk 14y agoYou could have something like * [* FooType#4]