• GO基础知识(函数、包)(待更新)


    Go基础知识

    函数

    //函数声明通用语法
    func functionname(parametername type) returntype{
        //函数体(具体实现的功能)
    }
    
    
    
    //示例
    /*
    	写一个计算商品价值的函数为例,输入参数是单件商品的价格和商品的个数,两者的乘积为商品总价,作为函数的输出值
    */
    package main
    
    import "fmt"
    
    func main()  {
    	var x = calculateBill(20, 10)
    	fmt.Println(x) //打印200
    }
    
    ////参数
    
    //常规写法
    func calculateBill(price int, count int) int{
    
    	var totalprice = price * count // 商品总价 = 商品单价 * 数量
    	return totalprice
    }
    
    //类型相同可以省略写
    func calculateBil(price, count int) int{
        var totalprice = price * count
        return totalprice
    }
    
    
    
    
    ////返回值
    /*
    	以矩形的长和宽为输入参数,计算并返回矩阵面积和周长的函数rectProps
    
    */
    
    //多返回值
    
    func rectProps(height,width float64)(float64, float64){
        
        var area = height * width
        var perimeter = (height + width) * 2
        return area,perimeter
        
    }
    
    //命名返回值
    func rectProps(length, width float64)(area, perimeter float64){
        area = length * width
        perimeter = (length + width) * 2
        return //不需要明确指定返回值,默认返回area, perimeter的值
    }
    
    
    
    
    //空白符
    /*
    _在go中被用作空白符,可以用来表示任何类型的任何值。
    
    下述函数计算的是面积和周长,而我们只需要计算面积,并不关心周长的计算结果此时就需要空白符
    
    */
    func rectProps(length, width float64)(float64, float64){
        var area = length * width
        var perimeter = (length + width) * 2
        return area, perimeter
    }
    func main(){
        area, _ := rectProps(10.8, 5.6) //返回值周长被丢弃
    }
    

    包(未完待续)

    //main函数和main包
    /*
    main函数是所有可执行的Go程序都必须包含的,这个函数是程序运行的入口,且main函数应该放置于main包中。
    
    
    package packagename这行代码指定了某一源文件属于一个包,它应该放在每一个源文件的第一行
    
    */
    
    // geometry.go
    package main 
    
    import "fmt"
    
    func main() {  
        fmt.Println("Geometrical shape properties")
    }
    /*
    package main这一行指定该文件属于main包。import "packagename"语句用于导入一个已存在的包,这里导入了fmt包,包内含有Println方法,接下来是main函数,会打印字符串
    */
    
  • 相关阅读:
    【BZOJ 1013】 [JSOI2008]球形空间产生器sphere
    【codeforces 779A】Pupils Redistribution
    【codeforces 779B】Weird Rounding
    【codeforces 779C】Dishonest Sellers
    Residential Gateway System for Home Network Service
    互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop
    大数据系统基础(自主模式) 2.1大数据和云计算关系概述
    设计模式(10) 外观模式(FACADE)
    命令模式(Command Pattern)
    设计模式(三)建造者模式Builder(创建型)
  • 原文地址:https://www.cnblogs.com/michealjy/p/13081765.html
Copyright © 2020-2023  润新知