Golang中国
package main

import "fmt"

func main() {
   var chars string
   for i := 1; i < 127; i++ {
      if i == 96 { continue }
      char := string(i)
      chars = chars + char
   }
   template := `
   package main
   func getchars() string {
      return ` + "`" + chars + "`}" + `
   func main() {
     chars := getchars()
     var count rune
     for _, char := range chars {
      if count == rune(char) {
         count++
      } else {
         println(count)
         count++
         if count == rune(char) {
            count++
         }
      }
     }
   }`
   fmt.Println(template)
}
1 回复
heimeil
#1 heimeil • 2016-12-12 13:48

在你的这个逻辑里不能出现的是12和96,ASCII码12是换页符,会清空前面的内容,96是`,在生产后的代码里会提前结束你的字符串。12和96都会生成的代码出错,0是空字符应该不会有什么影响。

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。