GitHub Copilot插件
正文开始前,先介绍一个小插件 - Copilot,是GitHub推出的一个AI代码补全插件。官网链接,官方文档,官方博客,官方Twitter。
目前GitHub学生认证账号可免费使用,GitHub学生认证,GitHub学生认证申请。
申请完许可之后直接到JetBrains插件市场搜索Copilot安装即可,JetBrains插件市场。安装完之后会连接GitHub进行认证,认证成功后就可以使用了。
用了大约有两周,感觉还不错,可以帮助我们快速生成代码,但是生成的代码不一定是最优的,需要我们自己再优化一下。目前Copilot只支持Python、Java、JavaScript、TypeScript、Go、Ruby、PHP、C#、C++、Kotlin、Scala、Dart、Swift、Rust、Julia、Elixir、Clojure、Haskell、OCaml、F#、Elm、Erlang、Prolog、Perl、Lua等
是的上面几行大部分内容也是生成的。。。我只写了个开头。本篇文章大概只有20%的内容是我敲出来的。因为我的博文一直在GoLand上写,所以以后可能会有更多AI生成的内容。
Golang的fmt占位符笔记
type Dog struct { Name string Age int }
var dog = Dog{ Name: "小砾", Age: 1, }
|
本笔记后面部分为Copilot生成的代码,下图Gif是部分生成示例。仅供参考!
猜测可能是根据官方文档加上我上面的结构体的定义而生成的,官方文档链接
普通占位符
fmt.Printf("%v", dog)
fmt.Printf("%+v", dog)
fmt.Printf("%#v", dog)
fmt.Printf("%T", dog)
fmt.Printf("%%")
|
布尔占位符
整数占位符
fmt.Printf("%b", 10)
fmt.Printf("%c", 65)
fmt.Printf("%d", 10)
fmt.Printf("%o", 10)
fmt.Printf("%q", 65)
fmt.Printf("%x", 10)
fmt.Printf("%X", 10)
fmt.Printf("%U", 65)
|
浮点数占位符
fmt.Printf("%b", 10.1)
fmt.Printf("%e", 10.1)
fmt.Printf("%E", 10.1)
fmt.Printf("%f", 10.1)
fmt.Printf("%F", 10.1)
fmt.Printf("%g", 10.1)
fmt.Printf("%G", 10.1)
|
字符串占位符
fmt.Printf("%s", "hello")
fmt.Printf("%q", "hello")
fmt.Printf("%x", "hello")
fmt.Printf("%X", "hello")
|
指针占位符
宽度标识符
fmt.Printf("%10d", 10)
fmt.Printf("%-10d", 10)
fmt.Printf("%010d", 10)
|
精度标识符
fmt.Printf("%.2f", 10.1)
fmt.Printf("%.2e", 10.1)
|
标志标识符
fmt.Printf("%+d", 10)
fmt.Printf("% d", 10)
fmt.Printf("%#x", 10) fmt.Printf("%#X", 10)
fmt.Printf("%T", 10)
fmt.Printf("%v", 10)
fmt.Printf("%b", 10) fmt.Printf("%d", 10) fmt.Printf("%o", 10) fmt.Printf("%x", 10) fmt.Printf("%X", 10)
fmt.Printf("%U", 65)
fmt.Printf("%c", 65)
fmt.Printf("%q", 65)
fmt.Printf("%x", "hello") fmt.Printf("%X", "hello")
fmt.Printf("%s", "hello") fmt.Printf("%q", "hello") fmt.Printf("%x", "hello") fmt.Printf("%X", "hello")
fmt.Printf("%p", &dog)
fmt.Printf("%e", 10.1) fmt.Printf("%E", 10.1) fmt.Printf("%f", 10.1) fmt.Printf("%F", 10.1) fmt.Printf("%g", 10.1) fmt.Printf("%G", 10.1)
|