当前位置: 移动技术网 > IT编程>脚本编程>Go语言 > Go指南练习_切片

Go指南练习_切片

2018年06月21日  | 移动技术网IT编程  | 我要评论

甘蔗网造梦西游4无敌版,府辰国际教育网,银行活期存款利息

源地址

一、练习题描述

实现 Pic。它应当返回一个长度为 dy 的切片,其中每个元素是一个长度为 dx,元素类型为 uint8 的切片。当你运行此程序时,它会将每个整数解释为灰度值(好吧,其实是蓝度值)并显示它所对应的图像。

图像的选择由你来定。几个有趣的函数包括 (x+y)/2x*yx^yx*log(y) 和 x%(y+1)

(提示:需要使用循环来分配 [][]uint8 中的每个 []uint8;请使用 uint8(intValue) 在类型之间转换;你可能会用到 math 包中的函数。)

 

二、分析

  • 外层切片的长度为dy;
  • 内层切片的长度为dx;
  • 内层切片中的每个元素值为 (x+y)/2,x*y...;
  • 使用嵌套循环的方式计算颜色值。

 

三、Go代码

package main

import "golang.org/x/tour/pic"

func Pic(dx, dy int) [][]uint8 {
    a := make([][]uint8,dy)  //外层切片
    for x := range a{
        b := make([]uint8,dx)  //里层切片
        for y := range b{
            b[y] = uint8(x*y - 1)  //给里层切片里的每一个元素赋值。其中x*y可以替换成别的函数
        }
        a[x] = b  //给外层切片里的每一个元素赋值
    }
    return a
}

func main() {
    pic.Show(Pic)
}

x*y 的运行结果

(x+y)/2 的运行结果

x^y 的运行结果

x%(y+1) 的运行结果

 

参考文档 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网