首页 技术 正文
技术 2022年11月9日
0 收藏 558 点赞 4,362 浏览 1710 个字

golang数据类型

  • 基本类型:boolean,numeric,string类型的命名实例是预先声明的。
  • 复合类型:array,struct,指针,function,interface,slice,map,channel类型(可以使用type构造)。

数据类型转换表

// []byte -> other type
[]byte => string : string([]byte)
[]byte => int : binary包处理, 查看下面// int -> other type
int => string : s = strconv.Itoa(i)
int => int32 : i32 = int32(num)
int => int64 : i64 = int64(num)
int64/int32 => int : i = int(num)
int64 => string : strconv.FormatInt(int64, )
int64 => time.Duration : time.Duration(int64)
int32 => byte : bytes.NewBuffer() 看上面 int 和 byte 互转
int => float64 : float64(num)
// other type -> int
i = int(int32/int64)
float64/float32 => int(int64/int32)// string -> other type
string => int : i, err = strconv.Atoi(s)
string => bool : strconv.ParseBool("true")
string => float32 : strconv.ParseFloat(s, )
string => float64 : strconv.ParseFloat(s, )
string => uint : strconv.ParseUint()
string => int32/int64 : strconv.ParseInt(s, , /)
string => []byte : []byte(string)
string(16进制) => int32/int64 : strconv.ParseInt(s, , /)// other type -> string
int,int32,int64 => string : str1 := fmt.Sprintf("%d", i) // i可以是int/int32/int64
或 str2 := strconv.Itoa(i) // i为int
或 str3 := strconv.FormatInt(int64(i), ) // i可以是int/int32/int64
uint64 => string : strconv.FormatUint(unit64, )
bool => string : strconv.FormatBool(true)
float64 => string : strconv.FormatFloat(float64(), 'f', -, )
或 fmt.Sprintf("%.2f", float64)// array -> slice :
) copy(array[:], slice[:]) | 全部 copy(array[:], slice)
) for
for index, b := range someSlice {
array[index] = b
}// slice -> array
slice=>array : array[:]

数据类型说明

1. int类型中哪些支持负数

  • 有符号(负号):int8 int16 int32 int64
  • 无符号(负号):uint8 uint16 uint32 uint64

2. 浮点类型的值有float32和float64(没有 float 类型)

3. byte和rune特殊类型是别名

  • byte就是unit8的别名
  • rune就是int32的别名

4. int和uint取决于操作系统(32位机器上就是32字节,64位机器上就是64字节)

  • uint是32字节或者64字节
  • int和uint是一样的大小

5. 为了避免可移植性问题,除了byte(它是uint8的别名)和rune(它是int32的别名)之外,所有数字类型都是不同的。 在表达式或赋值中混合使用不同的数字类型时,需要转换。例如,int32和int不是相同的类型,即使它们可能在特定架构上具有相同的大小。

笔记参考:GO基本数据类型总结
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,487
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,486
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,126
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,287