Ich bin auf der Suche nach Best Practices beim Schreiben von Go-Code. Ich habe zwei Methoden, die in der Logik sehr eng sind. Ich möchte es nur besser kodieren, und gibt es eine Möglichkeit, AddAuthor- und AddTitle-Methoden mit Go zu kombinieren.Schönere Methoden in Go Lang
Ich denke etwas wie func (t * Test) SetProperty ("name", "alfa") .. eine Art Ansatz, aber nicht wissen, wie man diesen Code besser machen. Kommentare sind willkommen. Auch wenn Sie mir einen Link mit gut geschriebenen Go-Code in Bezug auf Stil und Praxis geben, würde ich mich freuen.
Danke,
type Test struct {
Title string
Author string
}
func (t *Test) AddAuthor(name string) (*Test, error) {
if err := validateStringLength(name); err != nil {
return nil, err
}
t.Author = name
return t, nil
}
func (t *Test) AddTitle(title string) (*Test, error) {
if err := validateStringLength(title); err != nil {
return nil, err
}
t.Title = title
return t, nil
}
func validateStringLength(field string) error {
if len(field) > 255 {
return fmt.Errorf("field %v is too long.", field)
}
return nil
}
Warum kehren Sie 't'? Du mutierst 't', du musst es nicht zurückgeben, es sei denn, du änderst etwas grundlegendes daran (wie' append') –
ahh du hast Recht, ich habe zu viel Zeit in Ruby-Zone verbracht vergaß alle Zeiger :(Vielen Dank – manorie
Ich musste die volle Zeit zu Python nach einem Monat tauschen, nachdem ich anfing zu lernen, ein Projekt unter sehr engen Terminen zu beenden. kam Verbot nach Go Land nach drei Wochen erinnern fast NICHTS. Ich fühle deine Schmerzen! –