iT邦幫忙

0

Golang 每日一小時(Day6)

go
  • 分享至 

  • xImage
  •  

More types: structs, slices, and maps.中間有一大部分都是介紹 slice 的各種用法,沒有什麼特別的語法,值得一提的是,看起來是更改起點位置就會變動到 slice 本身的 cap,就將 cap 理解成 pointer 到 array 結尾的長度吧!

package main

import "fmt"

func main() {
	a := make([]int, 5)
	printSlice("a", a)

	b := make([]int, 0, 5)
	printSlice("b", b)

	c := b[:2]
	printSlice("c", c)

	d := c[2:5]
	printSlice("d", d)
}

func printSlice(s string, x []int) {
	fmt.Printf("%s len=%d cap=%d %v\n",
		s, len(x), cap(x), x)
}

a len=5 cap=5 [0 0 0 0 0]
b len=0 cap=5 []
c len=2 cap=5 [0 0]
d len=3 cap=3 [0 0 0]

來寫看看官方提供的練習,盡量用到一些 built-in,不然遲早會忘記:

package main

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

func Pic(dx, dy int) [][]uint8 {
	s := make([][]uint8, dy)
	
	for y := 0; y < dy; y++{
		ss := make([]uint8, dx)
		for x := range ss{
			ss[x] = uint8(x^y)
		}
		s[y] = ss
	}

	return s
}

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

用 XOR 決定值會出現這樣一個圖形,有一種理科的美
https://ithelp.ithome.com.tw/upload/images/20260411/201805536xHXadATYx.png


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言