zoukankan      html  css  js  c++  java
  • go 数组,if,for,闭包,

    package main
    
    import "fmt"
    
    //定义一个包的话必须在环境变量下的文件 切你写的函数名首字母必须是大写,不是大写的代表只在该包内使用
    // 要连个值能够相等的话 只要是有一点不一样那么这样个类型就不会相等
    
    //函数高级
    package main
    
    import "fmt"
    
    //闭包函数:定义在函数内部,对外部作用有引用
    //
    //内层函数:定义在函数内部的函数
    //go中函数内部定义的函数是不能有名的,需要定义匿名函数:没有名字
    func test(a int)  {
        func() {
            fmt.Println("我是内层函数")
        }()
    }
    //闭包函数
    func test(a int) (func()) {
        //var c int =100
        b:=func() {
            fmt.Println(a)
            fmt.Println("我是闭包函数")
        }
        return b
    }
    定义一个函数,传入函数,返回函数
    func test(a func()) func()  {
        b:= func() {
            fmt.Println("我先执行")
            a()
            fmt.Println("函数执行完了")
        }
        return b
    }
    func test2()  {
        fmt.Println("xxxx")
    
    }
    
    
    //给类型命别名
    type MyFunc  func(a int,b int) func()
    
    type MyInt int
    func test() (MyFunc)  {
    
        c:= func(a int,b int) func(){
    
            return func() {
    
            }
        }
        return c
    
    }
    func main() {
        //a:=test(3)
        //a()
        //a:=test2
        //a=test(a)
        //a()
        var a MyInt=10
        var b int =90
        a=MyInt(b)
        fmt.Println(a)
    }
    
    
    //for
    func xxx()  {
        for i := 0; i>10;i++  {
            fmt.Println(i)
            //简单的for循环,i++可以放在函数内部,i:=0可以在for循环的外部定义
            //break和continue跟其他任何语言都一样
        }
    }
    //for 进阶
    func ddd()  {
        for i,v:=range a{
            //a是可迭代对象,range是关键字
            //i,索引
            //v就是a迭代器里面的值
            fmt.Println(i,v)
        }
    }
    
    //与或非
    //&&   ||  !
    
    //定义数组
    func aaaa()  {
        a:=[6] int{1,2,3,4:100}
        //定义一个数组 长度为6,里面的值为1,2,3,0,0,0
        fmt.Println(a[0])
        //4:100,索引为4的值设置为100
        //索引取值获取0位值
        //所有的函数中传的参数都是copy过来的值在函数内部更改不了外部的值,除非传的是内存地址
    }
    
    //定义多维数组
    func qqq()  {
        var a [10][2]int
        //生成一个长度为10的列表,放入了长度为2的列表10个
        fmt.Println(a[0][1])
    }
    
    
    //另一种if判断
    a:=10
    switch a {
    case 1:
    fmt.Println("1")
    fmt.Println("xxxx")
    case 2:
    fmt.Println("2")
    case 10:
    fmt.Println("10")
    //穿透,无条件执行下一个case的内容
    fallthrough
    case 11:
    fmt.Println("11")
    test5()
    fallthrough
    case 12:
    fmt.Println("12")
    }
    
    
    }
    
    
    import "fmt"
    // if else 基本用法
    func main() {
        a :=20
        if a>20{
            fmt.Println("xiao")
        }else if a<20{
            fmt.Println("da")
        }else {
            fmt.Println("谁都不等于")
        }
    
    }
  • 相关阅读:
    LeetCode——Generate Parentheses
    LeetCode——Best Time to Buy and Sell Stock IV
    LeetCode——Best Time to Buy and Sell Stock III
    LeetCode——Best Time to Buy and Sell Stock
    LeetCode——Find Minimum in Rotated Sorted Array
    Mahout实现基于用户的协同过滤算法
    使用Java对文件进行解压缩
    LeetCode——Convert Sorted Array to Binary Search Tree
    LeetCode——Missing Number
    LeetCode——Integer to Roman
  • 原文地址:https://www.cnblogs.com/yangxinpython/p/12018515.html
Copyright © 2011-2022 走看看