• Golang 基础 01 -- 类型,变量与常量


    目录:

    @
    注意事项

    • 省略调用和别名不能同时使用
    • go关键字25个,都是小写
    • 常量,变量,类型,接口,结构,首字母大写就是public,首字母小写是private,一个包是一个整体
    • 常量,变量,一般类型(非struct,interface)都可以组合成组
    • var只能声明全局变量,也可以在函数体里面用,但是不建议这样用
    • type:自定义类型,可以用来更改类型的名字

    数据类型

    1. bool: 1 byte, only have value of "true" and "false"
    2. int/uint: 32bits/64bits depend on the platform
    3. (八位整型)int8/uint8(byte): 1 byte, -128127/0255
    4. (16位整型)int16/uint16: 2byte, -215~215-1/0~2^16-1
    5. (32位整型) int32(rune)/uint32: 4byte, -231~231-1/0~2^32-1 rune是字符型
    6. (64位整型) int64/uint64: 8byte, -263~263-1/0~2^64-1
    7. (浮点型,没有double)float32/float64: 4/8byte , account to 7、15 deciaml palces(精确到小数点后7/15位)
    8. (复数)complex64/complex128
    9. 含指针的32位或者64位 int:uintptr

    类型零值

    即默认值,通常为0,bool为false,string为空字符串

    单个变量的声明和赋值

    //声明:
    var num int
    //赋值
    num=40
    //声明的同时赋值,类型可以省略,也可以把var省略,用:=
    var num int = 40
    var num2 = 41
    num3 := 43
    

    多个变量的声明赋值

    • 全局变量的声明可以使用var()和并行方式简写,但是,var不能省略,即不能用:=
    • 类型推断即省略类型名,所有情况都可以
    • 函数体内的局部变量不能使用var()的方式简写,但是能用:=和并行简写
    //全局变量:
    var (
    	aaa="hello"
    	ddd, hhh=1,2
    )
    //函数体内的局部变量声明同时赋值才能使用:=,不能使用var()形成组
    var f,g,h,j int
    f,g,h,j=1,2,3,4
    
    var a,b,c,d int = 1,2,3,4
    var a,b,c,d = 1,2,3,4
    a,b,c,d := 1,2,3,4
    a, _, c,d := 1,2,3,4 //a=1,c=3,d=4
    

    变量的类型转换

    • Go不存在隐式转换,所有类型转换必须显示声明
    • 转换只能发生在两种相互兼容的类型之间
    var a float32 = 1.1
    b := int(a)
    
    c := 65
    d := string(c)
    fmt.Println(d)
    //输出A
    //string()表示将数据转换成文本格式,将65 对应于A,在unicode编码中,要是想输出字符65 ,就要引入包strconv
    e := strconv.Itoa(c)
    fmt.Println(e)
    

    常量的定义

    • 常量一般全部大写字母,特殊情况可以只首字母大写,此时为public,如果想定义为private,就在最前面加下划线或者小写c(表示const)表示private
    • 常量的值在编译的时候就已经确定
    • 常量的定义格式和变量基本相同
    • 等号右边必须是常量或者表达式
    • 常量表达式中的函数必须是内置函数
    const B = 'A'
    const (
    	text = "123"
    	length = len(text)
    	num = B * 20
    )
    
    • 常量初始化规则:在定义常量组const()时,如果不给初始值,则默认使用上一行的表达式
    • 使用相同的表达式不代表具有相同的值
    • iota是常量的计数器,初始我0,一个组中每定义一个常量,计数器加一
    • 通过初始化规则和iota可以达到枚举的效果
    • 没遇到一个const关键字,iota就会重置为0
  • 相关阅读:
    8组-Alpha冲刺-2/6
    8组-Alpha冲刺-1/6
    8组 需求分析报告
    结对编程作业
    8组 团队展示
    第一次个人编程作业
    第一次博客作业
    面向对象程序设计寒假作业3
    面向对象程序设计寒假作业2
    面向对象程序设计寒假作业1
  • 原文地址:https://www.cnblogs.com/leafs99/p/golang_basic_01.html
Copyright © 2020-2023  润新知