Skip to main content

moregeek program

go语言之类型转换_zzxiaoma的博客-多极客编程

go语言的类型不能混合使用


fmt.Println("abc" + 1)

会报字符串和整数不能这么操作


se := 12.0
wu := 5
fmt.Println(se * wu)
(mismatched types float64 and int)

一个是float一个是int不允许操作

例如上面,我们需要把wu这个变量类型转换为float64.


fmt.Println(se * float64(wu))

通过数据类型同名的函数包裹着变量就可以返回新类型。当然也可以把float类型转成int,但是这样会把小数部分直接截断。


mm := 12.5
fmt.Println(int(mm))

但是直接使用常量就不行了。


fmt.Println(int(12.5))

总得来说一般从取值范围小的类型转换为取值范围大的类型总是安全的,其他方式的类型转换则存在风险。有一个技巧,就是把范围大的类型转为小范围类型时,用值与小范围的值进行比较,看是否在范围之内,如果在才允许转换。


fmt.Println("abc" + strconv.Itoa(1))

通过strconv.Itoa(1)把数字1转成字符串再进行合并就没有问题了。


hh, _ := strconv.Atoi("1")
fmt.Println(hh)

通过strconv.Atoi可以把字符串转换成数字,这样就可以使用数字进行相应的运算。

布尔值转成字符串


nn := false
nntext := fmt.Sprintf("%v", nn)
fmt.Println(nntext)

字符串转换成布尔值

ok := "no"
oo := (ok == "yes")
fmt.Println(oo)

©著作权归作者所有:来自51CTO博客作者zzxiaoma的原创作品,请联系作者获取转载授权,否则将追究法律责任

30天python入门到进阶——第4天:数据类型(Ⅲ)_freestu的博客-多极客编程

随着我分享我每天学习python的进度,我越来越清楚和明显地看到,同时学习和分享解释概念有助于巩固知识,也是提升自己能力的一种有效方式。从第 3 天结束的地方开始,我今天继续探索列表和剩余的数据类型。列表列表函数就像字符串一样,Python为我们提供了一些内置方法来对列表数据类型执行一些操作。同样,在对象上的​​.​​运算符之后调用方法。可以根据动作类型对动作进行分类。下图中的方法是列表专有的内置

双向带头循环链表的(增删查改)的实现_萌新的日常的博客-多极客编程

(文章目录) 一、双向带头循环链表 构成 二、双向带头循环链表的实现 1.函数的定义和结构体的创建——list.h #include<stdio.h> #include<stdlib.h> #include<assert.h> typedef int datatype; struct listNode { datatype val; struct l

disruptor生产和消费模式详解及高级应用(并行模式)_博学谷狂野架构师的博客-多极客编程

小伙伴们大家好,昨天的文章,带着大家扒开了Disruptor华丽的外衣,最重要的是我们知道了Disruptor高性能的原因几个重要的原因, 引入环形的数组结构:数组元素不会被回收,避免频繁的GC, 无锁的设计:采用CAS无锁方式,保证线程的安全性 属性填充:通过添加额外的无用信息,避免伪共享问题 元素位置的定位:采用跟一致性哈希一样的方式,一个索引,进行自增 这篇文章就在上篇文章的基础上来点实

单链表的(增删查改)的实现_萌新的日常的博客-多极客编程

(文章目录) 一、链表 1.链表的概念 一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。 2.链表优点 1.空间上按需所给空间 2.在头部和中间插入时,不需要挪动数据 二、单链表的实现 1.函数的定义和结构体的创建——list.h #include<stdio.h> #include<stdlib.h> #includ

spring入门程序_mb62c3ac8538829的博客-多极客编程

 三.入门程序1.创建maven项目先新建一个空工程编辑编辑在工程中创建一个module:编辑编辑编辑编辑编辑2.添加spring框架核心jar包<!-- 导入spring的核心jar包 --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-

二叉排序树_wx619474981d7fe的博客-多极客编程

1 二叉排序树的定义果查找的数据集是有序线性表,并且是顺序存储的,查找可以用折半查找算法来实现,因为有序,在插入和删除操作上,就需要耗费大量的时间。假设现在我们的数据只有一个数{62,88,58,47,35,73,51,99,37,93}做查找,建立好的二叉排序树如图所示,62、88、58创建好后,下一个数47因比58小,是它的左子树,35是47的左子树,73比62大,但比88小,是88的左子树,

go语言之浮点数_zzxiaoma的博客-多极客编程

go语言拥有两种浮点类型,一种是float64,每个64位的浮点数需要占用8字节,另一种是float32,占用4字节。 var p = 3.54fmt.Printf("%T",p)输出float64,也就是默认浮点数是float64,如果想定义float32,需要明确指定。 如果不为float64赋值,默认就是0.0。 下面的浮点数的格式化输出,%4.2f中4代表总宽度,这里需要注意,点也算宽度

判断两个cidr是否有ip冲突_5201314的博客-多极客编程

1.校验网段是否合法1.1函数import ( "fmt" "net")func IsNetWorkOk(network string ) bool{ _, _, err := net.ParseCIDR(network) if err != nil { return false } return true}1.2分析第一步就是先split变成ip

2022最新版 redis大厂面试题总结(附答案)_10982108的博客-多极客编程

专注于PHP、MySQL、Linux和前端开发,感兴趣的感谢点个关注哟!!!​​文章已收录​​,主要包含的技术有PHP、Redis、MySQL、JavaScript、HTML&CSS、Linux、Java、Golang、Linux和工具资源等相关理论知识、面试题和实战内容。文章导语大家好,前段时间一直在忙找工作相关的事情。最近工作稳定了,于是把面试过程中遇到的Redis相关知识问题总结下来

js:监听页面滚动scroll,实现阅读进度条_彭世瑜的博客-多极客编程

实现原理 // 距顶部 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; // 可视区高度 var clientHeight = document.documentElement.clientHeight || document.body.clientHeight; // 滚动条总高度

go语言之一等函数_zzxiaoma的博客-多极客编程

可以将函数赋值给变量,可以将函数传递给函数,甚至可以编写创建并返回函数的函数。 func add() int { return 1 + 1}adds := addfmt.Println(adds())调用函数的时候需要用到圆括号,单这次的程序在赋值的时候并没有这样做,这里把add()赋给变量adds,通过adds()来调用函数。adds变量的类型是函数,具体来说就是一个不接收任何形参并且只

go语言之指针_zzxiaoma的博客-多极客编程

go的指针采用了c语言指针的语法,我们需要特别关注&和*,&表示地址操作符,可以得到指定变量的内存地址。 abc := 10fmt.Println(&abc)打印出来的是abc的地址,我们可以通过在变量前面加*对其进行解引用 fmt.Println(*abc)打印出来是10 指针类型可以跟其他普通类型一样,出现在所有需要用到类型的地方,如变量声明、函数形参、返回值类型、