2016-11-26 1 views
-1

Go autorise-t-il les fonctions à ajouter des contraintes de longueur de tableau à la signature, ou la longueur nécessiterait-elle encore une vérification de l'exécution?Les fonctions Can Go spécifient une longueur de tableau particulière?

+5

Les tableaux DO ont des longueurs de correctifs. D'un autre côté, les tranches ne le sont pas, et vous ne pouvez pas appliquer la longueur de la tranche via une signature de fonction. –

+0

En fait, il y a un moyen. Possible duplication de [Est-il possible de déclencher une erreur de compilation avec une bibliothèque personnalisée dans golang?] (Http://stackoverflow.com/questions/37270743/is-it-possible-to-trigger-compile-time-error-with- personnalisé-bibliothèque-dans-golang/37271129 # 37271129) – icza

Répondre

2

Pour les tableaux, c'est plus que possible, c'est nécessaire. Pour les tranches c'est impossible.

package main 

import (
    "fmt" 
) 

func main() { 
    d := [2]int{1, 2} 
    fmt.Println(sum(d)) 
} 

func sum(data [2]int) int { 
    return data[0] + data[1] 
} 

https://play.golang.org/p/-VMxyDvwUt