30 lines
462 B
Go
30 lines
462 B
Go
package main
|
|
|
|
import (
|
|
"crypto/md5"
|
|
"fmt"
|
|
)
|
|
|
|
type Transaction struct {
|
|
ID string
|
|
Bank Bank
|
|
Amount string
|
|
Account string
|
|
Date string
|
|
}
|
|
|
|
func (t *Transaction) String() string {
|
|
return fmt.Sprint(*t)
|
|
}
|
|
|
|
func NewTransaction(amount, account, date string, bank Bank) *Transaction {
|
|
t := &Transaction{
|
|
Amount: amount,
|
|
Account: account,
|
|
Bank: bank,
|
|
Date: date,
|
|
}
|
|
t.ID = fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprint(t))))
|
|
return t
|
|
}
|