我的Go+语言初体验——go【Format】goplus
生活随笔
收集整理的這篇文章主要介紹了
我的Go+语言初体验——go【Format】goplus
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
歡迎大家參與【我的Go+語言初體驗】活動:
活動地址:【https://bbs.csdn.net/topics/603464006?utm_source=1594742339】
前言:
goplus的開發(fā)者許先生向群內(nèi)推薦了一個很酷炫的功能你可以貼一段 Go代碼,然后點 Format,得到對應(yīng)的 Go+ 風(fēng)格的代碼:
說完我就去做了一下測試,那是相當(dāng)簡潔啊。
1、直觀測試效果
package mainimport "fmt"func main() {fmt.Println("Hello, new goplus世界") }點擊【Format】之后
?
2、函數(shù)格式化(前10個月的兔子):
寫個函數(shù)調(diào)用看看:
package mainfunc fib() func() int {a, b := 0, 1return func() int {a, b = b, a+breturn a} }func main() {f := fib()println(f(), f(), f(), f(), f(),f(),f(),f(),f(),f()) }效果如下:
3、多函數(shù)格式化效果(皮亞諾整數(shù))
package mainimport "fmt"type Number *Numberfunc zero() *Number {return nil }func isZero(x *Number) bool {return x == nil }func add1(x *Number) *Number {e := new(Number)*e = xreturn e }func sub1(x *Number) *Number {return *x }func add(x, y *Number) *Number {if isZero(y) {return x}return add(add1(x), sub1(y)) }func mul(x, y *Number) *Number {if isZero(x) || isZero(y) {return zero()}return add(mul(x, sub1(y)), x) }func fact(n *Number) *Number {if isZero(n) {return add1(zero())}return mul(fact(sub1(n)), n) }func gen(n int) *Number {if n > 0 {return add1(gen(n - 1))}return zero() }func count(x *Number) int {if isZero(x) {return 0}return count(sub1(x)) + 1 }func main() {for i := 0; i <= 9; i++ {f := count(fact(gen(i)))fmt.Println(i, "! =", f)} }執(zhí)行測試,無問題。
?點擊【Format】格式化效果:
?還是節(jié)約了一些的。
有GO語言習(xí)慣的同志有好東西用了。
總結(jié)
以上是生活随笔為你收集整理的我的Go+语言初体验——go【Format】goplus的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Laravel_post访问【419】问
- 下一篇: mysql使用Navicat创建分区