Golang | Go 语言 编程练习 100题
怎样判断interface{}所属类型
interface类型定义了一组方法,如果某个对象实现了某个接口的所有方法,则此对象就实现了此接口。空interface(interface{})不包含任何的method,正因为如此,所有的类型都实现了空interface。
我们知道interface的变量里面可以存储任意类型的数值(该类型实现了interface)。那么我们怎么反向知道这个变量里面实际保存了的是哪个类型的对象呢?
方法1:
Go语言里面有一个语法,可以直接判断是否是该类型的变量: value, ok = element.(T),这里value就是变量的值,ok是一个bool类型,element是interface变量,T是断言的类型。
if value, ok := element.(int); ok {fmt.Printf("list[%d] is an int and its value is %d\n", index, value)} else if value, ok := element.(string); ok {fmt.Printf("list[%d] is a string and its value is %s\n", index, value)} else if value, ok := element.(Person); ok {fmt.Printf("list[%d] is a Person and its value is %s\n", index, value)} else {fmt.Println("list[%d] is of a different type", index)}
方法2:
switch语法
switch value := element.(type) {case int:fmt.Printf("list[%d] is an int and its value is %d\n", index, value)case string:fmt.Printf("list[%d] is a string and its value is %s\n", index, value)case Person:fmt.Printf("list[%d] is a Person and its value is %s\n", index, value)default:fmt.Println("list[%d] is of a different type", index)}
在golang中将Json.Number转换为int / int64 / float64
我有一个变量数据,它是一个接口。 当我打印其类型时,将其获取为json.Number。 如何将强制类型转换为int / int64 / float64
查看此文档以了解json.Number上的可用方法:
https://golang.org/pkg/encoding/json/#Number
f, err := data.(json.Number).Float64()
golang怎样实现枚举类型
go语言并没有提供enum的定义,我们可以使用const来模拟枚举类型。
type PolicyType int32const (Policy_MIN PolicyType = 0Policy_MAX PolicyType = 1Policy_MID PolicyType = 2Policy_AVG PolicyType = 3
)
这里定义了一个新的类型PolicyType,并且定义了4个常量(Policy_MIN, Policy_MAX, Policy_MID, Policy_AVG),类型是PolicyType。
Golang | Go 语言 编程练习 100题相关推荐
- c语言编程经典实例利润,C语言经典编程实例100题解答
C语言经典编程实例100题 答案+答案 C语言经典编程实例100题C语言程序实例100个(一) [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序 ...
- 为什么C语言输出结果总是1,c语言编程问题这个题我哪里错了输出结果总是0
c语言编程问题这个题我哪里错了输出结果总是0 答案:2 信息版本:手机版 解决时间 2020-05-03 18:57 已解决 2020-05-03 06:15 编写程序,输入两个正整数m和n(100 ...
- C语言必考100题,C语言必考100题.doc
C语言必考100题 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果. 输入两个整形数并打印,如果用户不慎输入了非法 ...
- c语言编程迭代分数序列,C语言编程及上机题
C语言编程及上机题 1. 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,问第10次落 地时,共经过多少米?第10次反弹多高?请编程实现. 2. 试编程序,找出1至99之间的全部同构 ...
- c语言程序填空100题,C语言基础练习100题.PDF
C语言基础练习100题.PDF C 语言基础练习 100 题 1. 输入-处理-输出 01. 从键盘上输入两个整数,求出它们的和. 02. 已知三角形的底和高,求出三角形的面积. 03. 从键盘上输入 ...
- python list长度_python的入门阶段 编程思维100题 我跟罗志祥没关系
"""python的入门阶段 编程思维100题(适合学习了1周--1个月的新人) 第五题:我跟罗志祥没关系 朋友圈大家每天都看,那用python如何实现它那? 很简单,朋 ...
- c语言周欢,c语言经典案例100题
题型挺全的 c语言经典程序100例 - 笔记 - 周欢 - CSDN学生大本营 - Powered by UCenter Home首页资讯研发移动云计算空间学生论坛博客下载网摘程序员外包书店CTO俱乐 ...
- 利用指针编程实现:删除一个字符串中的所有空格 c语言,C语言必考100题解析汇报...
1.按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算 并输出表达式的计算结果,形式如下:操作数1+操作数2=计算结果. 2.输入两个整形数并打印,如果用户不慎输入了非法字符,那么 ...
- 编程输入身高h体重w用c语言,C语言必考100题
本文档中包含C语言中绝大部分内容,对于初学C语言的人来说,不得不说是一份特好的资料. 1. 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算 并输出表达式的计算结果,形式如下:操 ...
- c语言必考100题解析,C语言必考100题
本文档中包含C语言中绝大部分内容,对于初学C语言的人来说,不得不说是一份特好的资料. 1. 按下述格式,从键盘输入一个整数加法表达式:操作数1+操作数2,然后计算 并输出表达式的计算结果,形式如下:操 ...
最新文章
- 脑机接口应用于驾驶员的疲劳状态检测综述
- 已解决:CentOS 7安装Docker Compose
- mysql粘贴数据_Navicat 如何复制粘贴数据
- 数组的定义格式二_静态初始化
- 仿盛大服务器列表不显示,最新高仿100%仿盛大传奇私服--传奇SF无法获得列表解决方法大全...
- 聊一聊Docker与时区
- eclipse 开发 scala
- 将二叉树转换成双向链表
- python画简单图-使用Python中的Turtle库绘制简单的图形
- mysql可以授予的权限包括多选题_mysql中的权限有( )。 (5.0分)_学小易找答案
- C语言谭浩强博客,折半查找法--C语言谭浩强版练习6.9
- PCB设计经验(1)
- 快速达成目标的12种方
- HDU-3533 Escape
- amend用法 git 信息_详解git commit --amend 用法
- Embedded Browser WindowsPC内嵌网页
- 什么是HTTP代理?HTTP代理的作用
- 一文讲解Typescript中工具类型
- 我的2017年文章汇总——深度学习篇
- js打开飞行模式_什么是飞行模式? 它有什么作用?什么时候应该打开它?