学习Golang中的指派和打印变量

73 阅读2分钟

学习Golang中的指派和打印变量

作为Codecademy学习Go课程的一个练习,我写了第二个Go程序。

它模拟了一个漫画店的目录。

在这一点上,课程只涵盖了Go最基本的部分,如变量、简单的数据类型、基本算术和打印。数组和函数仍然不在考虑之列。

由于这个原因,程序的结构非常原始,而且有很多重复的地方(有待改进)。

这仍然使它成为一个有价值的练习。这个小程序强化的一些概念是。

  • 声明不同数据类型的变量。
  • 为变量赋值(和重新赋值)。
  • 做基本的算术。
  • 混合整数算术和小数算术(数据类型转换)。
  • 打印出变量值和文本字元。

这就是完整的代码:

package main

import(
  "fmt"
)

func main() {
  // Comic book variables
  var publisher, writer, artist, title, genre string
  var year, pageNumber, age int
  var grade, price float32

  // Define first comic book
  title = "Mr. GoToSleep"
  genre = "Mistery"
  writer = "Tracey Hatchet"
  artist = "Jewel Tampson"
  publisher = "DizzyBooks Publishing Inc."
  year = 1997
  pageNumber = 14
  grade = 6.5
  age = 2020 - year
  price = float32(age * pageNumber) * grade / 100.0

  // Print out variables
  fmt.Println(
    title,
    "genre", genre,
    "written by", writer,
    "drawn by", artist,
    "published by", publisher,
    "on", year,
    "containing", pageNumber, "pages",
    "in condition", grade,
    "price", price,
  )

  // Define second comic book
  title = "Epic Vol. 1"
  genre = "SciFi"
  writer = "Ryan N. Shawn"
  artist = "Phoebe Paperclips"
  publisher = "DizzyBooks Publishing Inc."
  year = 2013
  pageNumber = 160
  grade = 9.0
  age = 2020 - year
  price = float32(age * pageNumber) * grade / 100.0

  // Print out variables
  fmt.Println(
    title,
    "genre", genre,
    "written by", writer,
    "drawn by", artist,
    "published by", publisher,
    "on", year,
    "containing", pageNumber, "pages",
    "in condition", grade,
    "price", price,
  )

  // Define third comic book
  title = "Ms. Y"
  genre = "Adventure"
  writer = "Gordon Ryan"
  artist = "Isobelle Leclair"
  publisher = "Astra Books"
  year = 2001
  pageNumber = 47
  grade = 8.5
  age = 2020 - year
  price = float32(age * pageNumber) * grade / 100.0

  // Print out variables
  fmt.Println(
    title,
    "genre", genre,
    "written by", writer,
    "drawn by", artist,
    "published by", publisher,
    "on", year,
    "containing", pageNumber, "pages",
    "in condition", grade,
    "price", price,
  )

}

程序打印出来的是这样的

1Mr. GoToSleep genre Mistery written by Tracey Hatchet drawn by Jewel Tampson published by DizzyBooks Publishing Inc. on 1997 containing 14 pages in condition 6.5 price 20.93
2Epic Vol. 1 genre SciFi written by Ryan N. Shawn drawn by Phoebe Paperclips published by DizzyBooks Publishing Inc. on 2013 containing 160 pages in condition 9 price 100.8
3Ms. Y genre Adventure written by Gordon Ryan drawn by Isobelle Leclair published by Astra Books on 2001 containing 47 pages in condition 8.5 price 75.905