• fmt


    fmt.Println("hello world")

    fmt.Printf("%T",a)打印a 的类型
    fmt.Printf("%v",a)打印a 的值

    格式化

    fmt.Sprintf(格式化形式,参数列表)
    格式化样式:字符串形式,格式化动词以%开头。
    参数列表:多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则会报错
    go的格式化命名延续了C语言的风格:

    	profile := &struct {
    		Name string
    		Age int
    	}{
    		Name:"小明",
    		Age:12,
    	}
    	// 在%v的基础上,对结构体字段名和值进行展开
    	fmt.Printf("%%+v %+v 
    ",profile) //%+v &{Name:小明 Age:12}
    	// 输出go语言语法格式的值
    	fmt.Printf("%%#v %#v 
    ",profile) //%#v &struct { Name string; Age int }{Name:"小明", Age:12}
    	// 输出go语言中语法格式的类型
    	fmt.Printf("%%T %T 
    ",profile) //%T *struct { Name string; Age int }
    

    base64编码实例

    package main
    
    import (
    	"encoding/base64"
    	"fmt"
    )
    
    func main()  {
    	// 需要处理的字符串,可以是字符串,也可以是二进制数据
    	str := "hello world"
    	//编码信息,用标准编码的方法进行编码,传入的字符串需要转换为字节数组才能让这个函数使用
    	encoding_str := base64.StdEncoding.EncodeToString([]byte(str))
    
    	// 输出编码完成的信息
    	fmt.Println(encoding_str) //aGVsbG8gd29ybGQ=
    
    	// 解码信息
    	data,err := base64.StdEncoding.DecodeString(encoding_str)
    
    	//错误处理
    	if err!=nil{
    		fmt.Println(err)
    	}else{
    		// data 是一个字节数组 ([]byte)
    		// 转换为字符串
    		fmt.Println(string(data))  //hello world
    		fmt.Println(data) //[104 101 108 108 111 32 119 111 114 108 100]
    	}
    
    }
    

    ini文件说明

    由多行文本组成,整个配置由 [] 拆分为多个 段,每个段中又以 = 分割为键和值
    ini文件以 ; 置于行首十位注释,那行将不会被处理和识别

    操作ini文件的读写

    package main
    
    import (
    	"bufio"
    	"fmt"
    	"os"
    	"strings"
    )
    
    func main() {
    	filename := "F:\project\study_go\从入门到入土\ini测试.ini"
    
    	// 打开文件,如果成功打开,会返回文件句柄,同时返回打开文件时可能发生的错误err
    	file, err := os.Open(filename)
    
    	//文件找不到,即文件打开错误,err将不是nil。
    	if err != nil {
    		fmt.Println("文件不存在")
    	}
    
    	//在文件使用完后必须关闭,
    	defer file.Close()
    
    	//go语言中总是将文件以二进制格式打开,bufio包即可以方便的读取二进制文件
    	// 使用读取器读取文件,传入文件构造成一个读取器
    	reader := bufio.NewReader(file)
    
    	//当前读取的段的名字
    	var sectionName string
    
    	// 构造一个循环,不断的读取文件中的每一行
    	for {
    		//从文件中读取字符串,知道碰到 
     ,也就是行结束,这个函数返回读取到的行字符串
    也可能是读取到的错误,离去文件读取完毕
    		line, err := reader.ReadString('
    ')
    		if err != nil {
    			break
    		}
    
    		//除去两边的空白,空格,回车符,换行符等
    		line = strings.TrimSpace(line)
    
    		//忽略空行
    		if line == "" {
    			continue
    		}
    
    		// 忽略注释
    		//if string(line)[0] == ";" {
    		//	continue
    		//}
    
    		//读取,判断是否为ini文件的段
    		if line[0] == '[' && line[len(line)-1] == ']' {
    			sectionName = line[1 : len(line)-1]
    		} else if sectionName == "core" { // 键值判断
    			// 用=切割获取键值对
    			part := strings.Split(line, "=")
    
    			//保证切开的只有1个等号分割的键值情况
    			if len(part) == 2 {
    				// 去掉值多余空白
    				strings.TrimSpace(part[1])
    				fmt.Println(part[1])
    			}
    		}
    
    	}
    }
    
    
  • 相关阅读:
    课程设计第八天,8.26
    课程设计第七天,08.25
    赖世雄英语
    英语语法-小学
    CSS(Cascading Style Sheet)
    Coredraw x7
    Servlet
    团队作业4——第一次项目冲刺(Alpha版本)2017.11.18
    团队作业4——第一次项目冲刺(Alpha版本)2017.11.16
    团队作业4——第一次项目冲刺(Alpha版本)2017.11.14
  • 原文地址:https://www.cnblogs.com/cizao/p/11484461.html
Copyright © 2020-2023  润新知