zoukankan      html  css  js  c++  java
  • GO语言02 注释 程序如何运行 变量 数据类型 常量 函数

    注释

    程序如何运行

    方式1:窗口中
    1.编译:go build 文件名
    2.执行:文件名
    
    方式2:窗口中
    编译并执行:go run 文件名
    
    方式3:直接右键执行

    变量

    1.什么是变量

    变量指定了某存储单元(Memory Location)的名称,该存储单元会存储特定类型的值。在 Go 中,有多种语法用于声明变量。

    2.声明变量

    方式1完整写法:
    var关键字 变量名  变量类型 = 值
    var a int=10   //定义了一个int类型的a ,把10赋值给他
    
    方式2类型推导:
    var关键字 变量名  = 值
    var a =10
    
    方式3简略声明:
    变量名:  = 值
    a:=10

    方式4:同时定义多个变量
    //var a =10
    //var b=100
    //var a,b int
    //var a,b int=10,20
    //var a,b=10,20
    //var a,b=10,"lqz"
    //a,b:=10,20
    //a,b:=10,"lqz"
    //fmt.Println(a)
    //fmt.Println(b)
    var (
    name = "naveen"
    age = 29
    height int
    )
    拓展1:定义不赋初值  :int 类型默认值是0  string 类型默认值是空字符串
    var a int
    //a=10
    var b string
    //b="lqz"

    声明注意点

    1.变量不能用var重复定义
    var a int=10
    var a =10 // 报错不能重复定义
    
    2.类型是固定的,可以更改变量的值但值的类型要一致
    var a =10
    a=100 // 可以更改
    b:="lqz" // 报错值的类型不一致

    数据类型

    https://www.cnblogs.com/xiaoyuanqujing/articles/11676016.html

    1.数字类型

    1.int类型:表示整数,int8   int16  int32  int64。
    计算机最小计量单位:bit位  int8 是 8个比特位=1个字节,表示的范围是:正负2的7次方减1
    
    2.在32位机器上int 就是int32 ,在64位机器上int就是int64
        uint类型:表示正整数 uint8 uint16...
        float类型:表示小数只有float32和float64
        complex64类型:复数
        byte: uint8的别名
        rune:int32的别名
        //var a int=-10
        //fmt.Println(a)
        //var a int =100000
        //fmt.Println(a)
        //var a uint8=100
        //fmt.Println(a)
        //var a float32=2.33
        //fmt.Println(a)

    2.字符串

    1.必须用双引号(单行),反引号是python中的三引号(多行)
    2.示例
    var a string="lqz"
    var c string=`阿斯蒂芬a
    手动阀afd阿斯蒂芬
    安抚
    asfd阿萨德f`

    3.布尔类型

    1.bool类型 值为true或false,0值是false
    2.示例:
    var b bool =true
    //var b =true
    //b:=true
    //var b bool //默认为false

    4.查看值的类型

    查看类型: "%T"
    b:='a'
    fmt.Printf("%T",b) 

    常量

    1.什么是常量

    值的是恒定不变的量

    2.常量的定义

    https://www.cnblogs.com/xiaoyuanqujing/articles/11676022.html

    1.定义常量
    const 名 =2.常量赋值不能更改
    
    3.示例:
    package main
    func main() {  
        const a = 55 // 允许
        a = 89       // 不允许重新赋值
    }

    函数

    1.什么是函数

    函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输出。

    2.函数定义语法

    func关键字 函数名(参数1 类型,参数2 类型) (返回值类型1,返回值类型2){函数体}

    示例:

    1.无参数,无返回值
    func test()  {
        fmt.Println("xxx")
    
    }
    
    2.有两个int类型的参数
    func test(a int,b int)  {}
    func test(a ,b int)  {}
    func test(a ,b int,c string)  {
        fmt.Println(a+b)
    }
    
    3.有一个数字类型返回值,一定要指定返回值类型
    func test(a,b int) int {
        return a+b
    }
    func test(a,b int) string {
        return "lqz"
    }
    
    返回多个值
    func test(a,b int) (int,string)  {
        return a+b,"成功"
    }
    
    4.命名返回值
    func test(a,b int) (c int, d string)  {
        c=10
        d="成功"
        return
    }
    
    5.在go中没有位置参数和关键字参数,都是位置参数,也没有默认参数
    func test(a,b int) int {
        return a+b
    }
    
    6.不定长参数
    func test(a ...interface{})  {
        fmt.Println(a)
    
    }

    3.函数是一等民

    1.go语言中,函数是一等公民,可以把函数赋值给一个变量,函数就是一等公民
    
    2.函数也是有类型的:除了函数的名字和函数体,把参数和返回值原封不动的拿过来就是一个函数的类型
    
    3.示例:
    func test(a int) (int,int) {
        fmt.Println("xxx")
        return 1,2
    
    }
    
    func main() {
        var a func(a int)(int,int)
        //var a =test
        a=test
        a(1)
    }

    4.闭包函数和内层函数

    1.简介和注意点

    1.闭包函数:定义在函数内部,对外部作用域有引用。
    
    2.内层函数:定义在函数内部的函数。

    3.go中函数内部定义的函数是不能有名的,需要定义匿名函数:没有名字

    2.示例

    1.内层函数示例:
    func test(a int)  {
        func() {
            fmt.Println("我是内层函数")
        }() // 加括号匿名函数会自调用,也可不加括号把匿名函数返回出去,在调用
    }
    
    2.闭包函数
    func test(a int) (func()) {
        //var c int =100
        b:=func() {
            fmt.Println(a) // 引用了外部函数作用域,所以是闭包函数
            fmt.Println("我是闭包函数")
        }
        return b  // 返回匿名函数,可在外部接收使用
    }
    
    3.定义一个函数,传入函数,返回函数
    func test(a func()) func()  {
        b:= func() {
            fmt.Println("我先执行")
            a()
            fmt.Println("函数执行完了")
        }
        return b
    }
    func test2()  {
        fmt.Println("xxxx")
    
    }

    5.给类型起别名

    1.语法:
    type 别名  类型
    2.示例:
    type MyFunc  func(a int,b int) func()
    
    type MyInt int
  • 相关阅读:
    模拟退火求最小覆盖圆和最小覆盖球
    牛客SQL题解-请你对于表actor批量插入如下数据(不能有2条insert语句哦!)
    牛客SQL题解-创建一个actor表,包含如下列信息
    牛客SQL题解-将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分
    牛客SQL题解-查找描述信息中包括robot的电影对应的分类名称以及电影数目
    牛客SQL题解-汇总各个部门当前员工的title类型的分配数目
    JavaScript
    JavaScript-给代码添加注释
    牛客SQL题解-获取员工其当前的薪水比其manager当前薪水还高的相关信息
    牛客SQL题解-获取所有非manager员工当前的薪水情况
  • 原文地址:https://www.cnblogs.com/tfzz/p/12013064.html
Copyright © 2011-2022 走看看