首页 > 其他分享 >第二章学习 数据类型之间的转化 strconv的方法实现

第二章学习 数据类型之间的转化 strconv的方法实现

时间:2023-05-08 21:12:13浏览次数:45  
标签:main string 数据类型 fmt strconv 类型 var 第二章

变量

 通过修改settings里的compact folder来让目录的关系展开而不是合并起来

1.变量声明
var age int 
age =18
fmt.println("age= ",age)
//声明和复制合成
var age2 int=19
fmt.Println("age2 = ",age2);

2.变量的四种使用形式

指定变量类型但是不赋值,如果没有赋值操作默认值为0
没有指定类型,根据值进行判定变量的类型,做一个自动类型推断
省略var,注意 := 注意不能写为= 例sex := "男"

3.支持一次性声明多个变量

 n6,height := 6.9,100

4.全局变量的一次性声明

var (

)

 

数据类型

 整数类型

有符号整数类型

 无符号整数类型

 其他整数类型

 查看某个变量的类型是什么

 查看某个变量的占用的字节数

要导入unsafe包利用一次多声明性

import(

  "fmt"

  "unsafe"

)

var num3=28

fmt.Println(unsafe.Sizeof(num3))

 浮点数类型

浮点数类型介绍

 底层存储空间和操作系统无关

浮点数类型底层存储 符号位+指数位+尾数位,可能存在精度的损失

定义浮点数的数据和科学计数法E

 浮点数可能会有精度的损失,建议使用float64

默认的浮点类型是float64

检测默认的类型

var num3 = 123.312

fmt.Printf("num3对应的type : %T" ,num3);

字符类型

 代码方向

 转义字符

 布尔类型

 func main(){
  var flag001 bool = true 

  fmt.Println(flag001)

字符串类型

字符串就是一串固定长度的字符连接起来的字符序列

package main
import "fmt"

func main(){
    var s1 string = "nihao"
  fmt.Println(s1)
  //字符串不可变
  var s2 string = "abc"
  s2= "def"
  fmt.Pringln(s2)  //不字符串一旦定义好,其中的字符的值不能改变
  //字符串的表达形式
  
  //字符串的表达形式
  1. 字符串中没有特殊字符,字符串的表达形式用双引号

  2.字符串有特殊字符,字符串的表达形式用反引号``

   3.字符串的拼接效果

  var s5 string = "abc" + " def" 

  s5 += "hijk"

  fmt.Println(s5)

  4.当字符串太长是,注意+号保留在最后一行

  

}

各个类型的默认值

 基本数据类型之间的转化

 

package main
import "fmt"

func main(){
    var s1 int = 100
    var s2 float32 = float32(s1)
    fmt.Println(s2)
}

 匹配数据类型

 数据溢出问题

 

基本数据类型转为string

 方式1 fmt.sprintf("%参数",表达式)

 输出

 方式二 strconv方式

strconv的方法

 代码测试

 输出

 string转化成基本数据类型

 ParseBool会返回两个值,value和error

我们只关注布尔类型的数据,error应该也要处理(暂时不知道怎么处理)

package main
import(
    "fmt"
    "strconv"
)
func main(){
    //string -> bool
    var s1 string= "str"
    var b bool
    b,_  = strconv.Parsebool(s1)
    fmt.Println("b的类型是%T b=%v",b,b)
}

报错

 

 默认返回int64类型,同时第三位数确定不能超过的数据类型

//string - > Int64
package main
import(
    "fmt"
    "strconv"
)

func main(){
    //string->int64
    var s2 string="24"
    var a int64
    a=strconv.ParseInt(s2,10,64)
    fmt.Println("a的类型时%T a=%v",a,a)

 默认返回float64类型

//string-float64
package main
import(
    "fmt"
    "strconv"
)
func main(){
    var s3 string="3.13"
    var c float64
    c=strconv.ParseFloat(s3,64)    #注意parsefloat的返回值是两位,所以会如果只用c一个接收会报错c,_
    fmt.Println("c的类型是%T c=%v",c,c)
} 

报错tips:如果转化之间的数据不对应.例如string是3.12转成bool的时候,会按照默认类型进行转换

 

标签:main,string,数据类型,fmt,strconv,类型,var,第二章
From: https://www.cnblogs.com/lisenMiller/p/17378656.html

相关文章

  • 数据类型及常用方法
    引入我们学习变量是为了让计算机能够像人一样去记忆事物的某种状态,而变量的值就是用来存储事物状态的,很明显事物的状态分成不同种类的(比如人的年龄,身高,职位,工资等等),所以变量值也应该有不同的类型,例如salary=3.1#用浮点型去记录薪资age=18#用整型去记录年龄name='lil......
  • 第二章:用电信号传输TCP/IP数据-02-连接:connect()
    一、连接是什么意思话说网线一直插着,网络一直连着,网线中随时都有信号流过,那这个“连接”是连接什么呢?可以类比人与人之间的联系,满大街都是人,身边随时有人走过,我们算是跟任何人有联系吗?当然没有!怎么才算有联系?先要双方有交往意愿,然后互换个名片,这才算联系上了。哪天一方找到另......
  • k10_java数据类型
    数据类型强类型语言java是强类型语言要求变量的使用过要严格符合规定,所有的变量需要先定义后才能使用。弱类型语言就是类型定义不太严格,变量名可以不可以直接使用,或者直接定义个变量名,不用声明其类型java数据类型分类————Java的数据类型分为两类基本数......
  • (网工复习 考完删)第二章 网络与图
    1.七桥问题找到一个路径包含每一条边且边不重复证明该图不存在符合条件的路径:每一个度数为奇数的节点只能是路径的起点或终点图中有四个度数为奇数的节点一条路径只能有一个起点和终点2.图的联通性联通:每一对顶点之间都存在路径不联通:包含多个联通片联通片:联通的孤立......
  • redis之五种基本数据类型
    0.前言本文主要讲解redis的五种基本数据类型:String、List、Set、SortedSet、Hash。学习如何使用它们,并且了解它们的底层数据结构实现,这样我们才能在适当的应用场景选择最适合的数据类型来解决我们的需求。1.String1.1简单使用String是redis最简单的且最常用的数据类型,可以......
  • java语言和数据类型
    1、java和跨平台计算机语言和编程相关1.JVM:java虚拟机。2.JRE:java运行环境。包括程序运行所需的虚拟机和类库,一般服务器使用。3.JDK:java开发工具包。java语言是如何跨平台的?java语法规则(重点)类名建议首字母大写。2.一个类要运行必须要有main主方法。3.java语言严......
  • python笔记-数据类型
    获取数据类型type(val)iftype(1)==int:print('1是int类型')iftype('hello')==str:print('1是字符串类型')iftype(1.5)==float:print('1是float类型')iftype([1,2])==list:print('1是list类型')类型转换prin......
  • 基础数据类型和操作符
    一、go程序基础1、文件名go语言文件名命名规范:go语言的文件名必须以.go结尾。go语言的文件名必须以小写字母开头,否则会报错。go语言的文件名不能包含空格,否则会报错。go语言的文件名不能包含特殊字符,否则会报错。go语言的文件名不能包含中文,否则会报错。go语言的文件名不......
  • 第二章物理层
    1.物理层的基本概念物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。物理层协议的主要任务机械特性指明接口所用接......
  • schema模块简介 - 验证数据类型
    目录1schema模块简介2快速上手1.给Schema类传入类型(int、str、float等)2.给Schema类传入可调用的对象(函数、带__call__的类等)3.给Schema类传入带有validate方法的对象4.给Schema类传入容器对象(list、tuple、set等)5.给Schema传入一个字典对象(大部分使用Schema的场景都是传入......