为了账号安全,请及时绑定邮箱和手机立即绑定
  • 经 验
    查看全部
    0 采集 收起 来源:总结

    2018-03-11

  • /* go语言读取解析vs工程文件 */ package main import ( "bytes" "encoding/xml" "fmt" "io/ioutil" ) //获取xml格式的节点属性值 func getAttributeValue(attr []xml.Attr, name string) string { for _, a := range attr { if a.Name.Local == name { return a.Value } } return " " } func main() { //读取文件 content, err := ioutil.ReadFile("vs.csproj") //解析 decoder := xml.NewDecoder(bytes.NewBuffer(content)) var t xml.Token var inItemGroup bool for t, err = decoder.Token(); err == nil; t, err = decoder.Token() { switch token := t.(type) { case xml.StartElement: name := token.Name.Local //fmt.Println(name) //打印出xml的开始节点 if inItemGroup { if name == "ClCompile" { fmt.Println(name) fmt.Println(getAttributeValue(token.Attr, "Include")) } } else { if name == "ItemGroup" { inItemGroup = true } } case xml.EndElement: if inItemGroup { if token.Name.Local == "ItemGroup" { inItemGroup = false } } } } }
    查看全部
  • /* go语言读取解析vs工程文件 */ package main import ( "bytes" "encoding/xml" "fmt" "io/ioutil" ) func main() { //读取文件 content, err := ioutil.ReadFile("vs.csproj") decoder := xml.NewDecoder(bytes.NewBuffer(content)) var t xml.Token var inItemGroup bool for t, err = decoder.Token(); err == nil; t, err = decoder.Token() { switch token := t.(type) { case xml.StartElement: name := token.Name.Local //fmt.Println(name) //打印出xml的开始节点 if inItemGroup { if name == "ClCompile" { fmt.Println(name) } } else { if name == "ItemGroup" { inItemGroup = true } } case xml.EndElement: if inItemGroup { if token.Name.Local == "ItemGroup" { inItemGroup = false } } } } }
    查看全部
    0 采集 收起 来源:获取指定节点

    2018-03-22

  • /* go语言读取解析vs工程文件 */ package main import ( "bytes" "encoding/xml" "fmt" "io/ioutil" ) func main() { //读取文件 content, err := ioutil.ReadFile("vs.csproj") decoder := xml.NewDecoder(bytes.NewBuffer(content)) var t xml.Token var inItemGroup bool for t, err = decoder.Token(); err == nil; t, err = decoder.Token() { switch token := t.(type) { case xml.StartElement: name := token.Name.Local fmt.Println(name) //打印出xml的开始节点 if inItemGroup { if name == "Compile" { fmt.Println(name) } } else { if name == "ItemGroup" { inItemGroup = true } } case xml.EndElement: if inItemGroup { if token.Name.Local == "ItemGroup" { inItemGroup = false } } } } }
    查看全部
    0 采集 收起 来源:获取指定节点

    2018-03-22

  • package main import ( "flag" "fmt" ) //第一种样式 func style() { //格式化定义 //flag.String("method","default","提示") 第一个参数是名字,第二个是默认值,第三个值是用法说明 methodPtr := flag.String("method", "default", "提示用法说明") valuePtr := flag.Int("value", -1, "value of sample") //解析 flag.Parse() fmt.Println(*methodPtr, *valuePtr) } //第二种样式 func style2() { var method string var value int //格式化 flag.StringVar(&method, "method", "default", "method of sample") flag.IntVar(&value, "value", -1, "value of sample") //解析 flag.Parse() fmt.Println(method, value) } func main() { //style() style2() }
    查看全部
  • package main import ( "fmt" "os" ) func main() { fmt.Println(os.Args) } 获取命令行
    查看全部
  • package main import ( "encoding/xml" "fmt" ) //人物档案 结构体 type person struct { Name string Age int } func main() { //给结构体赋值 p := person{Name: "霜花似雪", Age: 18} var data []byte var err error //将结构体类型序列化出来,以xml格式展现, //MarshalIndent(p,""," ")第二个参数是前缀,第三个参数是缩进 if data, err = xml.MarshalIndent(p, "", " "); err != nil { fmt.Println(err) return } fmt.Println(string(data)) p2 := new(person) //反序列化 if err = xml.Unmarshal(data, p2); err != nil { fmt.Println(err) return } fmt.Println(p2) }
    查看全部
  • package main import ( "encoding/xml" "fmt" ) //人物档案 结构体 type person struct { Name string Age int } func main() { //给结构体赋值 p := person{Name: "霜花似雪", Age: 18} //将结构体类型序列化出来,以xml格式展现 if data, err := xml.Marshal(p); err != nil { fmt.Println(err) return } else { fmt.Println(string(data)) } fmt.Println("\n") //将结构体类型序列化出来,以xml格式展现, //MarshalIndent(p,""," ")第二个参数是前缀,第三个参数是缩进 if data, err := xml.MarshalIndent(p, "", " "); err != nil { fmt.Println(err) return } else { fmt.Println(string(data)) } fmt.Println("\n") //将结构体类型序列化出来,以xml格式展现, //MarshalIndent(p,""," ")第二个参数是前缀,第三个参数是缩进 if data, err := xml.MarshalIndent(p, "#", " "); err != nil { fmt.Println(err) return } else { fmt.Println(string(data)) } }
    查看全部
  • go语言字符串的序列化与反序列化
    查看全部
  • package main import ( "fmt" "strconv" ) func main() { //go语言中整型与字符串相互转换API //输入整型数据输出字符串 fmt.Println(strconv.Itoa(10)) //输入字符串转化为整型 fmt.Println(strconv.Atoi("711")) //字符串解析 //解析为Bool类型 fmt.Println(strconv.ParseBool("false")) //0,f,F,false,FALSE,False fmt.Println(strconv.ParseBool("True")) //1,t,T,true,TRUE,True //解析为float类型,32是位数,是精度 fmt.Println(strconv.ParseFloat("3.14", 32)) //格式化 fmt.Println(strconv.FormatBool(true)) //FormatInt(123, 10),10表示是10进制,这个函数可以实现进制之间的转化 fmt.Println(strconv.FormatInt(123, 10)) //十进制 fmt.Println(strconv.FormatInt(123, 2)) //二进制 fmt.Println(strconv.FormatInt(20, 16)) //十六进制 }
    查看全部
  • package main import ( "fmt" "strings" ) func main() { s := "hello world" //判断字符串s是否在字符串hello中存在 fmt.Println(strings.Contains(s, "hello"), strings.Contains(s, "?")) //输出字符o在字符串中的索引 fmt.Println(strings.Index(s, "o")) ss := "1#2#3#456" //切割字符串 //采用Split函数根据#作为分隔符,分割字符串 splitedStr := strings.Split(ss, "#") fmt.Println(splitedStr) //合并字符串 fmt.Println(strings.Join(splitedStr, "#")) //判断字符串s中是否包含he开头的前缀 fmt.Println(strings.HasPrefix(s, "he")) ////判断字符串s中是否包含ld结尾的后缀 fmt.Println(strings.HasSuffix(s, "ld")) }
    查看全部
  • go语音字符串的基本操作
    查看全部
  • 待学习
    查看全部
  • 啊事实上
    查看全部
  • 我的go版本:go version go1.9.2 windows/amd64,运行老师的第二个方法报错,报错信息如下:flag redefined: method, 解决办法如下: var method string var value int flagSetObj := new(flag.FlagSet) flagSetObj.StringVar(&method, "method", "default", "method os sample") flagSetObj.IntVar(&value, "value", -1, "value of sample") var paramArr = []string{"method", "value"} flagSetObj.Parse(paramArr) //这里设置的有问题method 获取不到值,应该是flag.FlagSet的原因 fmt.Println("将用户输入的参数直接设置到我自己的变量里面来:", method, value) //fmt.Println(method, value) 解决的还是不太完美,用户输入的值还是打印不出来,不过已经不报错了,值我在研究研究
    查看全部

举报

0/150
提交
取消
课程须知
本课程适合想使用Golang进行文本处理, 编写各类小工具的同学. 如果你对Golang语言还不是很熟悉, 请先学习Golang语言的基础课程
老师告诉你能学到什么?
1、文本字符串操作 2、 XML编码处理 3、命令行解析 4、从VS工程文件获取文件列表 5、模拟命令行拷贝文件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!