4.1 golang基础语法

系列文章目录


前言

本篇文章主要是记录golang 中常用的中类型转换的方法


一、Golang 类型常见的转换

类型转换可以分为两类: 同一类型转换和不同类型的数据转换;
同一类型数据转换: 数字和数字 字符串和字符和字节
不同类型数据转换: 数字和字符串
接口类型转化其它类型

二、具体实例分析

1.同类型转换

代码如下( 数字类型转换):

// 数字类型转换

var num1 int = 100

fmt.Println(int64(num1))

var num2 int64 = 100

fmt.Println(int(num2))

2.不同类型转换

2.1 数字和字符串转

数字和字符串转换需要借助strconv 方法
代码如下(字符串 与数字转换):

// 字符串 与数字转换
var num3 int = 100
fmt.Println(strconv.Itoa(num3) + "abc")

var str1 string = "100"
fmt.Println(strconv.Atoi(str1))

var num4 int64 = 1010
fmt.Println(strconv.FormatInt(num4, 10))

var str2 = "1010"
fmt.Println(strconv.ParseInt(str2, 10, 64))

2.2 字符串与[]byte转换

代码如下( 字符串与[]byte转):

// 字符串与[]byte 转换  可以当作是同一类型转换
var str3 = "今天天气很好"
byte1 := []byte(str3)
fmt.Println(byte1)

fmt.Println(string(byte1))

2.3 字符串与rune转化

代码如下( 字符串与rune转化):

// 字符串与rune转化
// rune 为int32类型
// 将字符串转换为rune切牌你,实际上rune切片中存储了字符串Unicode码点

var rune1 = []rune(str3)
fmt.Println(rune1)
fmt.Println(string(rune1))
fmt.Println(string(rune1[3]))
fmt.Println([]int32(str3))

2.4 接口类型转具体类型

代码如下( 接口类型转具体类型):

// 接口类型转具体类型
// 通过断言处理
var inf interface{} = 100
var infStruct interface{} = user{Name: "fischer"}
i, ok := inf.(int)
fmt.Println(i, ok)
u, ok := infStruct.(user)
fmt.Println(u, ok)

2.5 时间类型转字符串

代码如下( 时间类型转字符串):

// 时间类型转字符串
var t time.Time
t = time.Now()
// 注意后面的格式是固定这么写
timeStr := t.Format("2006-01-02 15:04:05Z07:00")
fmt.Println(timeStr)

// 字符串转时间
t2, _ := time.Parse("2006-01-02 15:04:05Z07:00", timeStr)
fmt.Println(t2)

2.6 uintptr

代码如下( uintptr):

// uintptr
u1 := user{}
// unsafe.Pointer()是通用指针类型, 不能用于计算
uPtr := unsafe.Pointer(&u1)

namePtr := unsafe.Pointer(uintptr(uPtr) + unsafe.Offsetof(u1.Name))
*(*string)(namePtr) = "fischer"
fmt.Println(u1)

总结

提示:这里对文章进行总结:

参考

文章参考与<零声教育>的C/C++linux服务期高级架构系统教程学习:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于上面的引用内容,golang基础语法学习可以参考以下几个步骤: 1. 首先,我们需要安装golang开发环境。你可以直接进入官网(https://go.dev/)下载并安装golang的解释器。 2. 接下来,我们可以开始学习golang的语法。从上面的引用内容可以看出,golang的语法和Java的结构很相似,所以如果你之前有Java编程的经验,可以借鉴一些类比来学习。但是即使你没有Java的经验,也不用担心,golang的语法相对简单并且易于学习。 3. 另外,golang被称为“云计算时代的开发利器”,在使用过程中给人一种优雅、亲切、舒适的感觉。因此,在学习golang的过程中,你可能会发现它的语法设计和使用方式非常人性化。 综上所述,学习golang基础语法可以通过安装开发环境、参考Java的结构以及体验其优雅、亲切、舒适的特点来进行。希望这些信息能够帮助你开始学习golang基础语法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [一文看完golang基础语法](https://blog.csdn.net/qq_35889508/article/details/128125279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值