Golang 入门笔记(二)下

◇◆丶佛笑我妖孽 提交于 2020-10-28 10:33:38

目录


紧接上文

修改字符串

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){}
只能在自己文件里定义方法。
解决方案是:
使用类型定义 而不是=号的类型别名
或者在它自己的包里给它别名再操作。




在结构体成员嵌入时使用别名

容易出错,建议别用。


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!