第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

GoLang中字符串的一些使用總結(jié)

標(biāo)簽:
Go 區(qū)塊鏈

在项目当中接触到最多的应该就是字符串了,有比如,在写API时收到前台发来的请求,大部分我相信都是字符串,我们接下来就针对字符串在GoLang中的一些处理做个小小的总结。

文/谦益

一、字符串的格式化输出

package main
import "fmt"
func main() {
	fmt.Println("Hello")
}

我相信这是所有人入门输入的第一句代码,足够简单,我们深入一点。

package main
import "fmt"
func main() {
	fmt.Printf("Hi, my name is %v","BoB")
}

当我们需要在输出的字符里面插入一些自己想加的内容,那就要用到格式化了,和其他的C语言啥的都类似,这里我列一下这些动词和功能的具体参数:

动词 功能
%v 按照值的本来值输出
%+v 在%v基础上,对结构体字段名和1值进行展开
%#v 输出Go语言语法格式的值
%T 输出Go语言-语法格式的类型和值
%% 输出%本体
%b 整型以二进制方式显示
%。 整型以八进制方式显示
%d 整型以十进制方式显示
%x 整型以十六进制方式显示
%X 整型以十六进制、字母大写方式显示
%U Unicode字符
%f 浮点数
%p 指针,十六进制方式显示

有些我们不常用的,可以先不记住他,用到了再来查也可以。

二、字符串的类型转换

当我们收到客户端发来的请求时,大部分数据都是需要我们二次处理才能使用的,比如把字符串转int,转int64等接下来咱们看看Go里面怎么转的。

    AByString := "1"
	BByInt := 2
	
	//类型转换成int
	CByInt,err := strconv.Atoi(AByString)
	if err != nil {
		fmt.Errorf("类型转换出错 %v",err)
	}
	
    fmt.Println(BByInt + CByInt)

这是stringint

    AByString := "1"
    
    //字符串转int64
	DByInt64, err := strconv.ParseInt(AByString, 10, 64)
	//int64转string
	EByString := strconv.FormatInt(DByInt64, 10)
	EByInt64, err := strconv.ParseInt(EByString, 10, 64)
	
	fmt.Println(EByInt64 + DByInt64)

这里用到了:

  • string转int64
  • int64转string

strconv包里面有很多API是用来转换数据类型,这里就不一一列举了,我们常见的类型转换里面都已经包含了。

三、字符串的加密解密

加密解密是项目里面必不可少的,比如数据传输时,如果明文传输是一件非常可怕的事,我给大家介绍两个常见的加密算法:

Base64

首先是一个可逆的加密算法 base64,Go语言中提供了加密模块,我们直接使用就好了。


import (
	"fmt"
	"encoding/base64"
)    
func main() {
    // 声明一个字符串,并转换为byte数组
	input := []byte("hello world")
	// base64编码
	encodeString := base64.StdEncoding.EncodeToString(input)
	
	fmt.Println(encodeString)

	// 对上面的编码结果进行base64解码
	decodeBytes, err := base64.StdEncoding.DecodeString(encodeString)
	if err != nil {
		fmt.Println(err)
	}
	
	fmt.Println(string(decodeBytes))
}

在数据加密解密这块Go语言做得是比较不错的。

MD5

MD5和BASE64差不多,直接就看范例吧:


import (
	"fmt"
	"crypto/md5"
)

func main() {
    // 声明一个字符串,并转换为byte数组
	input := []byte("hello world")
	has := md5.Sum(input)
	md5str1 := fmt.Sprintf("%x", has) //将[]byte转成16进制
	
	fmt.Println(md5str1)
}

字符串相关的内容大概就这么多。

點(diǎn)擊查看更多內(nèi)容
3人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消