Golang基础语法:变量(二)--十安辰

十安辰 · · 769 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

加号的基础应用

1、当左右两边都是数值型时,为加法运算

2、当左右两边都是字符串运算的时候,做字符串拼接

例子:

package main
import "fmt"
//+号的运用
func main() {
    var i, j = 1, 2
    var r = i + j   //加法运算
    fmt.Println("r=", r)

    var str1, str2 = "hello", "world"
    var str = str1 + str2   //做字符串pin'jie
    fmt.Println("str=", str)
}

变量的数据类型

基本数据类型

  • (a) 整数类型(int)
  • (b) 浮点类型(float)
  • (c) 字符型(byte)
  • (d) 布尔类型(bool)
  • (e) 字符串类型(string)

派生复杂数据类型

  • (a) 指针类型(Pointer)
  • (b) 数组类型
  • (c) 结构化类型(struct)
  • (d) 管道(Channel) 类型
  • (e) 函数类型
  • (f) 切片(slice)类型
  • (g) 接口类型(interface)
  • (h) Map 类型

整数类型

介绍

用于存放整数值的

加粗的为重点常用,初学记住这些就行了

类型 描述
uint 32位或64位
uint8 无符号 8 位整型 (0 到 255)
uint16 无符号 16 位整型 (0 到 65535)
uint32 无符号 32 位整型 (0 到 4294967295)
uint64 无符号 64 位整型 (0 到 18446744073709551615)
int 32位系统就是32位,64位系统就是64位
int8 有符号 8 位整型 (-128 到 127)
int16 有符号 16 位整型 (-32768 到 32767)
int32 有符号 32 位整型 (-2147483648 到 2147483647)
int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
byte uint8的别名(type byte = uint8)
rune int32的别名(type rune = int32),表示一个unicode码,用于中文字符处理
uintptr 无符号整型,用于存放一个指针是一种无符号的整数类型,没有指定具体的bit大小但是足以容纳指针。 uintptr类型只有在底层编程是才需要,特别是Go语言和C语言函数库或操作系统接口相交互的地方。

特别的,

//int, uint, rune, byte的使用
var a int = 9000
fmt.Println("a=", a)
var b uint = 1
var c byte = 255
fmt.Println("b=", b, "c=",c)

整数类型的注意事项

1、Golang 各整数类型分为:有符号和无符号,int uint的大小和系统有关

2、Golang 的整数默认声明为 int 型

var n = 99  //n 是int类型      
fmt.Printf("n 的类型是%T \n",n)

输出为:

n 的类型是int  n占用的字节数是 8

3、如何在程序中查看某个变量的大小和数据类型

package main

import (
    "fmt"
    "unsafe"    //应用unsafe包
)
func main() {
    var n = 99  //n 是int类型
    fmt.Printf("n 的类型是%T  n占用的字节数是 %d\n", n, unsafe.Sizeof(n))
}

输出为:

n 的类型是int  n占用的字节数是 8 

4、Golang 程序中整形变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。

如:年龄使用 byte

5、bit:计算机中最小的存储单位。byte:计算机中基本存储单元

`1byte = 8 bit`

浮点(小数)类型

介绍

用于存放小数

类型 范围 字节数
float32 -3.402e +38~3.402e +38 4字节
float64 -1.797e +308~1.797e +308 8字节
var price float32 = 89.12

1、浮点数在机器中存放形式的简单声明,浮点数 = 符号位 + 指数位 + 尾数位

注意:浮点数都是有符号的

2、尾数部分可能丢失,造成精度损失。-123.0000901

var num1 float32 = -123.0000901
var num2 float64 = -123.0000901
fmt.Println("num1=", num1, "num2=", num2)

输出为:

num1= -123.00009 num2= -123.0000901 

说明:float64精度更高

3、浮点数的存储分为三部分:符号位 + 指数位 + 尾数,在存储过程中,精度会有丢失

浮点型使用细节

1、Golang 浮点型有固定的范围和字段长度,不受操作系统的影响

2、Golang 的浮点型默认为float64

3、浮点型常量有两种表示形式

​ 十进制形式: 2000.911

​ 科学计数法形式:2.000911e3 = 2.000911*10^2

4、通常情况下,我们使用float64位


所有文章首发平台是微信公众号-极客印记,同步发布到CSDN,简书,掘金等平台博客--十安辰,喜欢的话,记得微信扫码关注我哦

极客印记


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:十安辰

查看原文:Golang基础语法:变量(二)--十安辰

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

769 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传