Exercícios de demonstração de Golang

main / main.go



importação principal do pacote ( 
	"laurence / utils" 
) 
func main () { 
	// 
	familAccount: = utils.NewFamilyAccount () 
	familAccount.MainMenu () 
}

utils / familAccount.go 


utilitários de pacotes 
importam "fmt" tipo FamilAccount struct { 
	Cadeia de opções `json: opção` 
	Loop bool` json: loop` 
	Equilíbrio float64` json: balance` 
	Dinheiro float64` json: money` 
	Nota string `json: note` 
	Flag bool` json: flag` 
	Detalhe string `json: detail` 
} 
// O modo de fábrica retorna um ponteiro para o front-end usando a 
função NewFamilyAccount () * FamilAccount { 
	return & FamilAccount { 
		Option:" ", 
		Loop: true, 
		Saldo: 10000,00, 
		Dinheiro: 0,00, 
		Nota:" ", 
		Sinalizador: false, 
		Detalhe:" Receita e despesa \ 
tConta da conta \ tConta e despesas \ tDescrição \ n ", 
	} 
} func (familAccount * FamilAccount) showDetail () { 
	if familAccount.Sinalizar {
		fmt.Println (familAccount.Detail) 
	} else { 
		fmt.Println ("Nenhum registro !!!!!!!!!!") 
	} 
	fmt.Println () 
} 
func (familAccount * FamilAccount) Renda () { 
	fmt. Print ("Valor dessa receita:") 
	fmt.Scanln (& familAccount.Money) 
	fmt.Print ("Descrição dessa renda:") 
	fmt.Scanln (& familAccount.Note) 
	familAccount.Balance + = familAccount.Money 
	// Format splicing 
	familAccount.Detail + = fmt.Sprintf ( "receita \ V% T \ T \ T% V \ T \ T% V \ n-", familAccount.Balance, familAccount.Money, familAccount.Note) 
	familAccount.Flag = true 
} 
func (familAccount * FamilAccount) Pay () { 
	fmt.Print ("Este valor da despesa:") 
	fmt.Scanln (& familAccount.Money) 
	fmt.Print ("Descrição desta despesa: ")
	fmt.Scanln (& familAccount.Note) 
	se familAccount.Money> familAccount.Balance { 
		fmt.Print ("Saldo inadequado e insuficiente !!!!!!!!!!!!!!") 
	} 
	familAccount.Balance- = familAccount. Dinheiro 
	// Formatar a costura 
	familAccount.Detail + = fmt.Sprintf ("Despesas \ t% v \ t \ t% v \ t \ t% v \ n", familAccount.Balance, familAccount.Money, familAccount.Note) 
	familAccount .Flag = true 
} 
func (familAccount * FamilAccount) Exit () { 
	fmt.Print ("Tem certeza de que deseja sair? S / n:") 
	escolha: = "" 
	para { 
		fmt.Scanln (& choice) 
		if choice == " y "|| escolha ==" n "{ 
			break 
		} 
		fmt.Print (" A entrada está incorreta, digite novamente: ") 
	} 
	se escolha ==" y "{ 
		familAccount.Loop = false 
	} 
} 
func (familAccount * FamilAccount) MainMenu () { 
	para { 
		fmt.Println ("---------- Detalhes da contabilidade da receita e despesas da família ------------") 
		fmt. Println ("1 Detalhes da receita e despesa") 
		fmt.Println ("2 receitas registradas") 
		fmt.Println ("3 despesas registradas") 
		fmt.Println ("4 saídas") 
		fmt.Println ("Selecione (1-4) ") 
		fmt.Println (" -------------------------------------- ") 
		fmt.Print ("Selecione a opção que você deseja operar:") 
		fmt.Scanln (& familAccount.Option) 
		alterna familAccount.Option { 
			case "1": 
				familAccount.showDetail () 
			case "2": 
				familAccount.Income () 
			case "3":
			caso "4" de 
				familAccount.Pay () :
				familAccount.Exit () 
			padrão:
				fmt.Println ("A entrada está incorreta, selecione novamente:") 
		} 
		se! familAccount.Loop { 
			fmt.Println ("Bem-vindo à próxima vez, Goodbay !!!!!!!!!!!!") 
			interrompa 
		} 
	} 
} 
// TODO 
// Verificar login 
// concluir a função de transferência

  

Acho que você gosta

Origin www.cnblogs.com/Essaycode/p/12677743.html
Recomendado
Clasificación