Golang 练习N则

文章推薦指數: 80 %
投票人數:10人

在主Python的时候,也要巩固提升自己的Go姿势水平,练习题目来自A Tour of Go,提供多语言,教程说实话比较经典了,闲的时候值得一看的Golang初中级进阶 ... 關於本人 Golang练习N则 2020-01-29 Code Fancy golang练手项目,一周每天做两个Golang练习,近期温习一下并适当做些注释 在主Python的时候,也要巩固提升自己的Go姿势水平,练习题目来自ATourofGo,提供多语言,教程说实话比较经典了,闲的时候值得一看的Golang初中级进阶教程,比想象中的要闹心。

干拉会很吃力,刚好查漏补缺,还是需要其他Golang基础的。

練習:循環和函式 作為練習函式和循環的簡單途徑,用牛頓法實現開方函式。

在這個例子中,牛頓法是通過選擇一個初始點z然後重複這一過程求Sqrt(x)的近似值: 為了做到這個,只需要重複計算10次,並且觀察不同的值(1,2,3,……)是如何逐步逼近結果的。

然後,修改循環條件,使得當值停止改變(或改變非常小)的時候退出循環。

觀察迭代次數是否變化。

結果與math.Sqrt接近嗎? 提示:定義並初始化一個浮點值,向其提供一個浮點語法或使用轉換: z:=float64(1) z:=1.0 packagemain import( "fmt" "math" ) funcSqrt(xfloat64)float64{ z,k:=float64(1),float64(1) fork>1e-15{ d:=z z=z-(z*z-x)/(2*z) k=z-d ifk<0{ k=d-z } } returnz } funcmain(){ fmt.Println(Sqrt(2)) fmt.Println(math.Sqrt(2)) } 練習:slice 實現Pic。

它返回一個slice的長度dy,和slice中每個元素的長度的8位無符號整數dx。

當執行這個程式,它會將整數轉換為灰度(好吧,藍度)圖片進行展示。

圖片的實現已經完成。

可能用到的函式包括>x^y,(x+y)/2和x*y。

(需要使用循環來分配[][]uint8中的每個[]uint8。

) (使用uint8(intValue)在類型之間進行轉換。

) packagemain import"code.google.com/p/go-tour/pic" funcPic(dx,dyint)[][]uint8{ img:=make([][]uint8,dy) forx:=0;x='a'&&p[i]='A'&&p[i]='n'&&p[i]<='z': fallthrough casep[i]>='N'&&p[i]<='Z': p[i]=p[i]-13 } } returnleng,nil } funcmain(){ s:=strings.NewReader( "Lbhpenpxrqgurpbqr!") r:=rot13Reader{s} io.Copy(os.Stdout,&r) } commentspoweredbyDisqus © 2020 byFancy Fancy'sBlog



請為這篇文章評分?