4.1 golang基础语法

简介: 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服务期高级架构系统教程学习:

目录
相关文章
|
2月前
|
安全 Java Go
【Golang入门】简介与基本语法学习
Golang语言入门教程,介绍了Go语言的简介、基本语法、程序结构、变量和常量、控制结构、函数、并发编程、接口和类型、导入包、作用域以及错误处理等关键概念,为初学者提供了一个全面的学习起点。
32 0
|
4月前
|
Go 开发者 索引
Golang 中 for 循环的语法详解
【8月更文挑战第31天】
39 0
|
7月前
|
Go
Golang深入浅出之-Go语言基础语法:变量声明与赋值
【4月更文挑战第20天】本文介绍了Go语言中变量声明与赋值的基础知识,包括使用`var`关键字和简短声明`:=`的方式,以及多变量声明与赋值。强调了变量作用域、遮蔽、初始化与零值的重要性,并提醒读者注意类型推断时的一致性。了解这些概念有助于避免常见错误,提高编程技能和面试表现。
93 0
|
7月前
|
JSON 安全 Java
golang面试:golang基础语法(一)
golang面试:golang基础语法(一)
71 0
|
存储 人工智能 Java
深入了解Golang:基本语法与核心特性解析
深入了解Golang:基本语法与核心特性解析
|
安全 IDE Linux
【Golang】一文学完 Golang 基本语法
【Golang】一文学完 Golang 基本语法
56 0
|
Go
Golang语法入门指南
Go是一种现代、高效、并发的编程语言,被设计用于构建可靠且高性能的软件。它具有简单的语法和强大的标准库,适用于各种类型的应用程序开发。本博客将引导您快速入门Golang的基本语法,并提供一些实用的技巧和最佳实践。
93 0
|
存储 关系型数据库 MySQL
Golang基本语法-掘金课程笔记
Golang基本语法-掘金课程笔记
132 0
Golang基本语法-掘金课程笔记
|
Java Linux Go
知识分享之Golang——templates常用语法
知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
167 0
知识分享之Golang——templates常用语法
|
编译器 Go
Golang泛型语法
在定义函数(结构等)时候,可能会有多种类型传入。只有在真正使用才知道是什么类型,此时就可以用一个更加宽泛的类型(必须存在一定约束,只能在那些类型的范围内使用)暂时占位。这个类型就叫泛型
838 0