目录
紧接上文
修改字符串
Go 语言的字符串是不可变的
修改字符串时可以将字符串转变为【】byte进行修改
【】byte和string可以通过强制类型转换互转。
连接字符串
+号可以直接连接
但使用 bytes.Buffer更快
h:=“aa”
b:=“cc”
var stb bytes.Buffer
stb.WriteString(h)
stb.WriteString(b)
c:=stb.String()
格式化
fmt.Sprintf(格式化样式,参数列表…)
格式化样式:字符串样式,格式化动词以%开头
参数列表:多个参数以逗号分隔,个数与格式化相对应
var progress=2
fmt.Sprintf(“ss %d”,progress)
格式表
BASE64编码
package main
import (
"encoding/base64"
"fmt"
)
func main() {
//需要处理的字符串
message := ".https//golang.org/"
//编码信息
encodedMessage := base64.StdEncoding.EncodeToString([]byte(message))
//输出编码完成的信息
fmt.Println(encodedMessage)
//解码消息
data, err := base64.StdEncoding.DecodeString(encodedMessage)
//出错处理
if err != nil {
fmt.Println(err)
} else {
//打印解码完成的数据
fmt.Println(string(data))
}
}
常量
在计算机运行过程中恒定不变的值
const size =4
var array [size]int
枚举–一组常量值
使用 iota自增变量来是实现枚举
类型别名与类型定义
类型别名:
type tac=int
类型定义:
type newint int
类型别名编译运行后消失,类型定义编译运行后依旧存在,debug需要你深入到定义的文件去看具体内容。
非本地类型不能定义方法
非本地包,比如你在mian包中引用了fmt包里的类型,给它起了一个新类型,你不能在这个文件里
func (x ss) es(a string){}
只能在自己文件里定义方法。
解决方案是:
使用类型定义 而不是=号的类型别名
或者在它自己的包里给它别名再操作。
在结构体成员嵌入时使用别名
容易出错,建议别用。
来源:oschina
链接:https://my.oschina.net/u/4271739/blog/4691940