当前位置: 首页 > news >正文

今日南昌疫情最新要求seo快速排名利器

今日南昌疫情最新要求,seo快速排名利器,信誉好的昆明网站建设,wordpress升级 没有ftp系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录数据类型数值型:整数类型:浮点数类型: 字符型-布尔型-字符串零值转义字符 常用类型转换运算符总结 数据…

系列文章目录

【Go语言学习】ide安装与配置
【GO语言基础】前言
【GO语言基础】变量常量
【GO语言基础】数据类型


文章目录

  • 系列文章目录
  • 数据类型
    • 数值型:
      • 整数类型:
      • 浮点数类型:
    • 字符型-布尔型-字符串
    • 零值
      • 转义字符
  • 常用类型转换
  • 运算符
  • 总结


数据类型

在这里插入图片描述

数值型:

整数类型:

注意:u开头为无符号数,在C语言中,例如,有 "unsigned int"(无符号整型)和 "unsigned short"(无符号短整型)等类型,它们都以 "u" 或 "unsigned" 开头。无符号数只能表示正数和零,不能表示负数。

类型取值范围大小(字节)
int根据平台变化32或64
int8-128到1271
int16-32768到327672
int32-2147483648到21474836474
int64-9223372036854775808到92233720368547758078
uint根据平台变化32或64
uint80到2551
uint160到655352
uint320到42949672954
uint640到184467440737095516158
package mainimport ("fmt""unsafe"
)func main() {var New1 int = 1var New2 int8 = 1var New3 int16 = 1var New4 int32 = 1var New5 int64 = 1//无符号数var New6 uint = 1var New7 uint8 = 1var New8 uint16 = 1var New9 uint32 = 1var New10 uint64 = 1fmt.Println(New1, New2, New3, New4, New5, New6, New7, New8, New9, New10)//unsage.Sizeof输出数据类型存储的大小fmt.Println(unsafe.Sizeof(New1))fmt.Println(unsafe.Sizeof(New2))fmt.Println(unsafe.Sizeof(New3))fmt.Println(unsafe.Sizeof(New4))fmt.Println(unsafe.Sizeof(New5))fmt.Println("无符号数:")fmt.Println(unsafe.Sizeof(New6))fmt.Println(unsafe.Sizeof(New7))fmt.Println(unsafe.Sizeof(New8))fmt.Println(unsafe.Sizeof(New9))fmt.Println(unsafe.Sizeof(New10))
}

在这里插入图片描述

浮点数类型:

类型取值范围大小(字节)
float32±1.18e-38 to ±3.4e384
float64±2.23e-308 to ±1.8e3088
package mainimport ("fmt""unsafe"
)func main() {//浮点数类型var New1 float32 = 3.14var New2 float64 = 3.1415926fmt.Println(New1, New2)//unsage.Sizeof输出数据类型存储的大小fmt.Println(unsafe.Sizeof(New1))fmt.Println(unsafe.Sizeof(New2))
}

在这里插入图片描述

字符型-布尔型-字符串

类型取值范围大小(字节)
字符(byte)uint8 类型,代表一个ASCII字符1字节
布尔型(bool)true 或 false1字节(通常)
字符串(string)由多个字符组成的序列,以空字符(‘\0’)结尾变长,取决于字符串的长度
package mainimport ("fmt""unsafe"
)func main() {// 字符型(byte)var b byte = 'a'fmt.Printf("Byte: %c\n", b)// 布尔型var boolVar bool = truefmt.Println("Bool:", boolVar)// 字符串,技巧使用:反引号括起来的字符串可以原样输出var strVar string = "Hello, Go!"fmt.Println("String:", strVar)//unsage.Sizeof输出数据类型存储的大小fmt.Println(unsafe.Sizeof(b))fmt.Println(unsafe.Sizeof(boolVar))fmt.Println(unsafe.Sizeof(strVar))
}

在这里插入图片描述

零值

在Go中,所有声明的变量都会被赋予一个零值,例如,int类型的零值是0,string类型的零值是空字符串。

package mainimport "fmt"func main() {var New1 intvar New2 stringfmt.Println(New1)fmt.Println(New2)
}

在这里插入图片描述

转义字符

转义字符描述
\n换行符,表示一个新的行开始。
\r回车符,表示回到当前行的开头。
\t制表符,表示一个制表位(Tab)。
\"双引号,用于表示包含在字符串中的双引号。
\'单引号,用于表示包含在字符串中的单引号。
\\反斜杠,用于表示包含在字符串中的反斜杠本身。
\0空字符,表示一个空字符。
\xHH十六进制转义字符,用于表示一个两位十六进制数表示的字节。例如,\x0A表示换行符(ASCII码为10)。
\uHHHHUnicode转义字符,用于表示一个四位十六进制数表示的Unicode字符。例如,\u0020表示空格字符(Unicode码为U+0020)。
\UHHHHHHHH大写Unicode转义字符,用于表示一个八位十六进制数表示的Unicode字符。例如,\U00000020表示空格字符(Unicode码为U+0020)。

常用类型转换

自定义类型之间的转换
自定义类型之间的转换取决于它们的底层类型。如果底层类型相同,那么它们可以相互转换。
如float64转换为int

package mainimport ("fmt""reflect"
)func main() {var a int = 42var b float64 = float64(a) // 将整数转换为浮点数//输出数据fmt.Println(b)//输出数据类型fmt.Println("b 的类型:", reflect.TypeOf(b))
}

数值类型:

  • 可以将整数类型转换为浮点数类型,例如int转换为float64。
  • 可以将浮点数类型转换为整数类型,但会丢失小数部分,例如float64转换为int。
  • 不同大小的整数类型之间可以相互转换,但注意可能会导致溢出或数据丢失。
package mainimport ("fmt""reflect"
)func main() {var x int = 42var y float64 = float64(x) // int到float64的显式转换fmt.Println(x)fmt.Println("y 的类型", reflect.TypeOf(y))fmt.Println("")//float64转换int后精度丢失var f float64 = 58.0022var z int = int(f)fmt.Println(f)fmt.Println("f 的类型(转换前)", reflect.TypeOf(f))fmt.Println(z)fmt.Println("z 的类型(转换后)", reflect.TypeOf(z))
}

在这里插入图片描述

字符串类型:

  • 可以将字符串转换为字节数组或切片,例如string转换为[]byte。
  • 可以将字节数组或切片转换为字符串,例如[]byte转换为string。
  • 可以将一些数值类型转换为字符串,例如int转换为string。
  • 在字符类型转换中常用strconv包(点我跳转中文网)。
    在这里插入图片描述
package mainimport ("fmt""reflect""strconv"
)func main() {var New1 int = 555fmt.Println(New1)fmt.Println("New1的数据类型是:", reflect.TypeOf(New1))// 将整数转换为字符串var New2 string = strconv.Itoa(New1)fmt.Println(New2)fmt.Println("New2的数据类型是:", reflect.TypeOf(New2))// 将浮点数转换字符串var New3 float64 = 3.14fmt.Println(New3)fmt.Println("New3的数据类型是:", reflect.TypeOf(New3))var New4 string = strconv.FormatFloat(New3, 'f', -1, 64)//第一个参数是要转换的浮点数。//第二个参数是格式标记,其中'f'表示使用普通的浮点数格式。//第三个参数是精度,-1表示使用尽可能多的精度。//第四个参数是浮点数的位数,通常使用64表示float64类型。fmt.Println(New4)fmt.Println("New4的数据类型是:", reflect.TypeOf(New4))}

在这里插入图片描述
布尔类型:
布尔类型不能直接转换为其他数据类型,也不能从其他类型直接转换为布尔类型,需要使用条件语句来进行转换。

package mainimport ("fmt""reflect""strconv"
)func main() {var b1 bool = truevar b2 bool = false// 不能直接将b1转换为b2或反之,需要使用条件语句或逻辑运算符来转换b1 = !b2 // 使用逻辑非来转换fmt.Println(b1)fmt.Println("b1数据类型是", reflect.TypeOf(b1))//布尔转换为字符串\var New1 string = strconv.FormatBool(b1)fmt.Println(New1)fmt.Println("New1数据类型是", reflect.TypeOf(New1))
}

在这里插入图片描述

运算符

运算符描述
+加法
-减法
*乘法
/除法
%取余
++自增(前置)
自减(前置)
+++自增(后置)
自减(后置)
&取地址运算符
&^按位取反运算符
^按位异或运算符
|按位或运算符
&<<左移位运算符
&>>右移位运算符
==等于运算符
!=不等于运算符
>大于运算符
<小于运算符
>=大于等于运算符
<=小于等于运算符
&&逻辑与运算符
||逻辑或运算符
!逻辑非运算符
<<低位位移运算符
>>高位位移运算符
+=加等于运算符
-=减等于运算符
*=乘等于运算符
/=除等于运算符
%=取模等于运算符
&=按位与等于运算符
^=按位异或等于运算符
|=按位或等于运算符
&=<<低位左移位等于运算符
&=>>低位右移位等于运算符
package mainimport "fmt"func main() {//算术运算符var a, b int = 10, 5fmt.Println(a + b) // 加法fmt.Println(a - b) // 减法fmt.Println(a * b) // 乘法fmt.Println(a / b) // 除法fmt.Println(a % b) // 取余//赋值运算符var c intc = 100fmt.Println(c)c += 50 // 简写加法赋值:等于c=c+50fmt.Println(c)c -= 20 // 简写减法赋值:等于c=c-20fmt.Println(c)c *= 3 // 简写乘法赋值:c=c*20fmt.Println(c)c /= 10 // 简写除法赋值:c=c/20fmt.Println(c)//比较运算符var d, e int = 50, 75fmt.Println(d == e) // 等于,输出 falsefmt.Println(d != e) // 不等于,输出 truefmt.Println(d < e)  // 小于,输出 truefmt.Println(d > e)  // 大于,输出 falsefmt.Println(d <= e) // 小于等于,输出 truefmt.Println(d >= e) // 大于等于,输出 false//位运算符var f, g uint8 = 5, 3fmt.Println(f & g)  // 按位与,输出 1fmt.Println(f | g)  // 按位或,输出 7fmt.Println(f ^ g)  // 按位异或,输出 6fmt.Println(f << 2) // 左移,输出 20fmt.Println(f >> 2) // 右移,输出 1//其他运算符var h bool = truevar i int = 42fmt.Println(!h)     // 取反,输出 falsefmt.Println(+i)     // 取正,输出 42(正数)fmt.Println(-i)     // 取负,输出 -42(负数)fmt.Println(i << 3) // 无符号左移,输出 168(无符号8位数的正数)
}

非布尔数据类型不能使用取反


总结

需要根据数据类型之间的关系选择合适的方法。需要特别注意的是,不支持任意类型的隐式转换,必须使用显式类型转换来完成转换操作,并且在一些情况下可能会引起精度丢失或运行时错误。因此,在进行数据类型转换时,务必小心谨慎。

http://www.hengruixuexiao.com/news/14008.html

相关文章:

  • 网站建设公司86215谷歌广告开户
  • 外贸零售网站建设网站搭建策略与方法
  • 电商网站建设的步骤武汉seo首页优化报价
  • 网站分享对联广告许昌网络推广外包
  • 自己的网站怎么做模板百度销售系统
  • 手机做网站用什么软件深圳网站制作公司
  • 呼和浩特网站建设小程序汕头网站建设方案推广
  • mac服务器 做网站seo国外推广软件
  • 高端网站制作网站建设如何做外贸网站的推广
  • 室内设计效果图价格seo厂商
  • 沈阳网站制作公司关键词优化推广排名多少钱
  • 网站上的支付链接该怎么做网店营销
  • 唐山网站定制百度手机app下载安装
  • 爱站网怎么打不开长沙seo优化排名
  • 建设部网站公示东营网站建设哪家更好
  • 企业网站 html模板下载网络营销方案的范文
  • 西宁高端网站开发公司百度竞价排名事件分析
  • 做暧暧小视频网站百度科技有限公司
  • 网站制作公司有哪些证百度推广电话客服
  • 网站手机端怎么做深圳推广公司有哪些
  • 申请网站就是做网站吗百度统计流量研究院
  • ui设计和平面设计哪个难众志seo
  • as3 xml 网站模板 下载seo是什么品牌
  • wordpress做电商网站网站建设运营
  • 网站备案需要提供网站建设方案书制作网页多少钱
  • .net网站建设产品网络推广方式
  • wordpress搭建服务器seo排名软件
  • 日本做的视频网站有哪些问题临沂网站建设优化
  • 中山做网站服务好接广告推广
  • 汕头建站培训枣庄网络推广seo