用go语言实现一个九九乘法表 1.在初始化的init函数生成一-个存储的乘法表 2.在GetResult函数里面传入一个数字判断他是否在乘法表里如果存在返回他的两个乘数(可 能不唯一-)
时间: 2024-09-17 07:08:15 浏览: 9
在Go语言中,你可以创建一个结构体来表示乘法表,并利用初始化函数`init`以及一个方法`GetResult`来实现你需要的功能。这里是一个简单的示例:
首先,我们定义一个名为`MultiplicationTable`的结构体,它包含一个二维数组来存储乘法表:
```go
package main
type MultiplicationTable struct {
table [10][10]int // 初始化为10x10的矩阵,用于存储乘法结果
}
func init() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
// 计算并设置乘法表元素
table[i][j] = i * j
}
}
}
```
然后,我们可以定义一个`GetResult`方法,该方法接受一个整数参数,检查它是否在乘法表内,并返回对应位置的乘积及其索引:
```go
func (mt *MultiplicationTable) GetResult(num int) (int, int, error) {
if num < 1 || num > 9 {
return 0, 0, fmt.Errorf("输入的数字不在乘法表范围内")
}
// 数字i作为行索引,j作为列索引
i, j := num, num
return mt.table[i][j], i, nil
}
```
现在你可以使用这个结构体来获取乘法表的结果:
```go
func main() {
mt := &MultiplicationTable{}
result, row, col := mt.GetResult(5)
fmt.Printf("5*5 = %d at row %d and column %d\n", result, row, col)
}
```