Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "bufio"
- "encoding/json"
- "fmt"
- "os"
- )
- type account struct {
- USERNAME string `json:"Username"`
- PASSWORD string `json:"Password"`
- }
- func readAccounts() ([]account, error) {
- accounts := make([]account, 0)
- accountsFile, err := os.Open("accounts.json")
- defer accountsFile.Close()
- if err != nil {
- return nil, err
- }
- dec := json.NewDecoder(accountsFile)
- err = dec.Decode(&accounts)
- if err != nil {
- return nil, err
- }
- return accounts, nil
- }
- func writeAccounts(accounts []account) error {
- accountsFile, err := os.Create("accounts.json")
- defer accountsFile.Close()
- if err != nil {
- return err
- }
- enc := json.NewEncoder(accountsFile)
- enc.SetIndent("", " ")
- err = enc.Encode(accounts)
- return err
- }
- func makeUsr() string {
- r := bufio.NewReader(os.Stdin)
- fmt.Println("Please make a username:")
- newUsr, err := r.ReadString('\n')
- if err != nil {
- panic(err)
- }
- return newUsr
- }
- func makePwd() string{
- r := bufio.NewReader(os.Stdin)
- fmt.Println("Please make a password:")
- newPwd, err := r.ReadString('\n')
- if err != nil {
- panic(err)
- }
- return newPwd
- }
- func inputPassword() string {
- r := bufio.NewReader(os.Stdin)
- fmt.Println("Password:")
- inpPwd, err := r.ReadString('\n')
- if err != nil {
- panic(err)
- }
- return inpPwd
- }
- func main() {
- accounts, err := readAccounts()
- if err != nil {
- panic(err)
- }
- accounts = append(accounts, account{
- USERNAME: makeUsr(),
- PASSWORD: makePwd(),
- })
- err = writeAccounts(accounts)
- if err != nil {
- panic(err)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement