Golang 入门笔记(二)下

目录


紧接上文

修改字符串

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

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

容易出错,建议别用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值