2.Golang基础知识

目录

1. 标识符

2.关键字

3.命名规范(建议)

4.变量

5.常量

6.数据类型分类

7.基础补充 

8.布尔类型

9.数字类型


1. 标识符

标识符:就是起名字,组成规则如下
  1.标识符由字母,数字和下划线组成
  2.开头不能是数字
  3.标识符区分大小写

2.关键字

1.关键字就是内置的字符,不能作为标识符使用
2.共25个关键字和36个预定标识符
3.不用记,慢慢用就熟悉了

3.命名规范(建议)

1.Go是区分大小写的语言
2.标识符在作为外部包引用时,首字母要大写
  标识符要不被外包可见时,首字母小写
3.包名称:
    任何一个go文件都可以作为包被引用,
    在命名本文件包名(package 包名)时,尽量保持与目录一致,或者有意义
4.go文件命名:小写 + 下划线
5.结构体命名:驼峰命名法
6.接口命名:以"er"结尾
7.常量命名:所有字母大写 + 下划线
8.单元测试:文件命名以"_test.go"结尾,函数名以"Test"开头

4.变量

1.声名的变量不能重复,而且声明后必须使用
2.外部声明变量:var 变量名 变量类型
3.批量变量声明:
    var(
        name string
	    sex  string
	    age  int
    )

4.变量初始化:用 = 赋值
    var name = "fly"

5.变量类型推导:指在初始化时,不用声明数据类型,go内部会自动推导
    var(
        name = "fly"
        age = 18
        sex = "man"
    )

6.初始化多个变量:用逗号隔开,一一对应赋值
    var name, age, sex = "fly", 18, "man"

7.短变量声明:指在函数内部声明的变量,可以不用写var,用":="
    fun main() {
        name := "zcy"
        age = 18
        sex = "man"
    }


8.匿名变量:在接收变量做参数时,用不到的变量用下划线"_"代替
    package main
    import "fmt"

    func getNameAge() (string, int) {
        return "fly", 18
    }
    func main()  {
        name, _ := getNameAge()
        fmt.Printf("name: %v\n", name)
    }

9.注释:
    单行注释:双斜杆//     ctrl + /
    多行注释:/*  */      alt + shif t+ a

5.常量

1.概念:常量是编译阶段确定下来就,不可改变的
2.常量定义:使用关键字 const
      用法:const 常量名 类型 = 常量值

3.因为定义常量时就必须赋值,所以常量类型可以省略

4.批量定义常量
    const (
        width = 100
        height = 100
    )

5.批量定义常量时,如果后面常量省略赋值,默认与前一变量一致
    const (
        hight = 100     // 100
        weidth          // 100
        name = "fly"    // fly
        age             // fly
    )

6.连续定义(多重赋值):
    const width, height = 100, 100

7.iota
    (1)iota是可以被编译器修改的常量,默认为0,每次调用+1,遇到const时重置为0
    (2)两个常量都定义iota,两者之间有"_"或普通常量,iota的值依旧会跳跃
        const (
            a = iota	// 0
            _           //      遇到"_",iota依旧+1,此时=1
            b = iota    // 2
            c = 1		// 1    遇到普通变量,iota依旧+1,此时=3
            d = iota	// 4
        )

6.数据类型分类

1.布尔类型
2.数字类型(整型,浮点型)
3.字符串类型(固定长度)
4.派生类型(指针类型,数组类型,结构化类型,Channel类型,函数类型,切片类型,接口类型(interface),Map类型)

7.基础补充 

1.判断if
    if 条件 {
        函数体
    } else {
        函数体
    }

2.循环for
    for 初始状态; 条件; 状态变化 {
        函数体
    }

3.且:&&

4.打印变量
    fmt.Println(变量)
5.格式打印
    fmt.Printf("%v\n", 变量)

区别:Println自带换行

5.打印符号
    打印数据:%v
        fmt.Printf("%v\n", "FLY")    // FLY
    打印数据类型:%T
        fmt.Printf("%T\n", "fly")    // string
    打印数字类型整型大小:%dB
        fmt.Printf("%dB\n", 18)      // 18B

8.布尔类型

true,false
作用:在条件判断,循环,逻辑表达等,用作判断真假
注意:golang中的布尔类型,不能用数字(0或非0)表达真假
package main

import "fmt"
func main() {
	age = 200

    // 错误
	if age {
		fmt.Println("错误")
	}

    // 正确
	if age>1 {
		fmt.Println("正确")
	}
}

9.数字类型

    1.囊括:整型与浮点型,原生复数,位运算用的是补码
        
    2.整型:int整型,uint无符号整型,uintptr固定长度存放指针的无符号整型

    3.int与uint在32位操作系统上占4个字节,在64位操作系统上占8个字节

    4.go中类型的大小都是固定的(了解),其中int型是计算最快的一种
        
    5.浮点型:float32与float64(补充:计算机中浮点数都是不精确的!)
        (1)整型零值是0,浮点型零值是0.0
        (2)格式化打印浮点型:
                全打印:%f
                取两位打印:%.2f
    
    6.进制转换 进制格式输出
        十进制:%d
        二进制:%b
        八进制:%o
        十六进制:%x 或%X
    
    7.复数:
        32位:complex64
        64位:complex128
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值