// 注释双斜杠 /* 或者杠上花 */ package main // 主函数的package必须为main // 引入的是文件路径。调用文件路径下包名即可使用(包名可以重复) import ( "fmt" ) func main() { // 打印菱形 // var size int = 5 // fmt.Println("请输入菱形的大小: ") // fmt.Scanf("%d", &size) // diamond(size) // 乘法口诀表 multTable() } /* 星号打印菱形方法 */ func diamond(size int) { // 如果是偶数则将大小+1 if size%2 == 0 { size++ } fmt.Printf("打印输出菱形行数为: %v\n", size) // 初始化空格 和 *标记初始打印数量 以及 打印数量反转标记(省去一个for循环的编写) var span, symbol, flag int = size/2 + 1, 1, -1 for i := 0; i < size; i++ { if flag < 0 && i >= size/2 { flag = -flag } // 打印span for j := 0; j < span; j++ { fmt.Printf(" ") } span = span + flag for k := 0; k < symbol; k++ { fmt.Printf("*") } fmt.Printf("\n") symbol = symbol - flag*2 } } /* 打印乘法口诀表 */ func multTable() { for j := 1; j <= 9; j++ { for i := 1; i <= j; i++ { if (i == 3 && j == 3) || (i == 3 && j == 4) { fmt.Printf(" ") } fmt.Printf("%v*%v=%v ", i, j, i*j) } fmt.Printf("\n") } }