05 Go函数

一、函数的基本规则

package main

import "fmt"

func main() {
    /*
    1.在C语言中函数只能返回一个值
    返回值类型 函数名称(形参列表){
       逻辑语句;
    }

    2.在Go语言中函数可以返回多个值
    func 函数名称(形参列表) (返回值列表){
      逻辑语句;
    }
     */

     // 1.返回一个值
     //var num int = getValue()
     //fmt.Printf("%d\n", num)

     // 1.var num1 int
     //   var num2 int
     // 2. num1 = 10
     //    num2 = 20
     num1, num2 := calculate()
     fmt.Printf("%d, %d\n", num1, num2)
}

func getValue()(int) {
    return  666
}

func calculate()(int, int){
    return 10, 20
}

二、输入输出函数

1、输出函数

package main

import "fmt"

func main() {
    /*
    1.在C语言中, 我们使用printf来输出内容
    2.在Go语言中也可以使用printf输出内容
    但是在Go语言中还有其它更方便的函数, 也可以输出内容

    2.1第一种输出方式:
    fmt.Printf("格式化字符串", 数据列表)
    特点: 不会自动换行, 但是可以自定义输出格式
    2.2第二种输出方式
    fmt.Println(数据列表)
    特点: 会自动换行, 但是不能使用占位符%d%c%s
     */

     num, value := 10, 20
     //fmt.Printf("num = %d, value = %d\n", num, value)
     //fmt.Printf("------")

     fmt.Println("num = ", num, "value = ",value)
     fmt.Println("----")
}

2、输入函数

package main

import "fmt"

func main() {
    /*
    1.在C语言中, 我们使用scanf来接收输入的内容
    2.Go语言中也可以使用scanf来接收输入的内容
    但是在Go语言中还有其它更方便的函数, 也可以接收输入的内容

    2.1第一种方式:
    fmt.Scanf(格式化字符串, 地址列表)
    特点: 如果接收的不是字符串类型(%c), 会忽略空格和TAB, 但是不会忽略回车
    
    2.2第二种方式
    fmt.Scan(地址列表)
    特点: 如果接收的不是字符串类型(%c), 会忽略空格和TAB和回车, 相当于C语言的scanf

    2.3第三种方式
    fmt.Scanln(地址列表)
    特点: 如果接收的不是字符串类型(%c), 会忽略空格和TAB, 但是不会忽略回车
     */

     var num int;
     var value int;
     //fmt.Scanf("%d", &num)
     //fmt.Scan(&num, &value)
     fmt.Scanln(&num, &value)
     fmt.Println(num, value)
}

你可能感兴趣的:(05 Go函数)