package model import ( "time" "crypto/sha256" "encoding/hex" ) type Article struct { Identifier uint SourceUrl string PublishDate time.Time FetchDate time.Time Title string Content string } func (article *Article) Hash() string { /* Generates a hash based on the source url of the article. Can be used to * identify the article. */ hash := sha256.Sum256([]byte(article.SourceUrl)) return hex.EncodeToString(hash[:]) } // --- implementation of the IIdentifiable interface --- func (article *Article) Id() uint { return article.Identifier }