Ci sono molti casi utilizzando nullo in golang, come questo:Cosa vuol dire nil in golang?
func (u *URL) Parse(ref string) (*URL, error) {
refurl, err := Parse(ref)
if err != nil {
return nil, err
}
return u.ResolveReference(refurl), nil
}
ma non possiamo usare in questo modo:
var str string //or var str int
str = nil
il compilatore golang viene generato un errore can't use nil as type string in assignment
.
Sembra che lo nil
possa essere utilizzato solo per il puntatore di struct e di interfaccia, quindi come si intende? e quando lo usiamo per confrontare con l'altro oggetto, come si confrontano, cioè come giudicare golan un oggetto è nil?
MODIFICA: Ad esempio, se un'interfaccia è nil, il suo tipo e valore devono essere nulli allo stesso tempo. Come Golang lo fa?
Dovrai capire i tipi Go e i diversi valori che un oggetto di ciascun tipo può avere. Tutti i dettagli su quali elementi sono nulli, assegnabili a zero, paragonabili a zero e così a sono spiegati in https://golang.org/ref/spec che è abbastanza breve da essere letto in una volta e abbastanza chiaro da capirlo. – Volker
La stringa vuota in Vai è "".Per verificare se una stringa ha un valore, basta 'str ==" "' – LibertyLocked