zoukankan      html  css  js  c++  java
  • go语言练习:幂、函授接收和返回参数、转义字符、变量和常量

    1.实现a^b次方

    package main
    
    func main()  {
    	r2 := power1(2,4)
    	println(r2)
    }
    func power1(a uint64, b uint64) (r uint64) {         //a是底数,b是幂,返回r
    	var i uint64
    	var temp uint64
    	if a != 0{
    		temp = 1
    		for i=1;i<=b;i++{
    			temp = temp * a
    		}
    		return temp
    	}
    	return //这里return只是占一个位置,不然会报错,实际不返回任何值;并且这个函数在调用时候,只能接收一个值,否则会报错
    }
    

    2.接收两个参数,返回两个数值

    package main
    
    func main()  {
    	t1, t2 := test(10,20)
    	println(t1)
    	println(t2)
    }
    
    func test(a int, b int)(r1 int, r2 int)  {
    	return a + b, a - b
    }
    

    3.转义字符练习

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Println("test
    ")    //换行符
    	fmt.Println("test\n")   //使用转义字符,打印
    ;
    	fmt.Println("test
    ttt") //遇到
    的时候,换行打印后面内容
    	fmt.Println("test	tt")  //空一格tab键的长度,打印后面内容
    	fmt.Println("testvtt")  //空格长度是	的一半
    }
    

     

    C:/Users/Adong/Adong.exe  [C:/Users/Adong]
    test
    
    test
    
    test
    ttt
    test	tt
    test tt
    

    4.常量和变量

    package main
    
    import "fmt"
    
    func main() {
    	const a int = 0
    	const b string = "hello!!!"
    	a = 2   //如果编译的话,这个地方会出错,因为给常量重新赋值了
    	fmt.Println(a)
    	fmt.Println(b)
    }
    

    C:/Go/bin/go.exe build -i [C:/Users/Adong]

    # _/C_/Users/Adong

    . est.go:8:4: cannot assign to a

    错误: 进程退出代码 2.

    package main
    
    import "fmt"
    
    func main() {
    	const a int = 0
    	const b string = "hello!!!"
    	var c uint
    	c = 1
    	c = 2     //变量可以重新赋值,以最新的赋值为准
    	//a = 2   //如果编译的话,这个地方会出错,因为给常量重新赋值了
    	fmt.Println(a)
    	fmt.Println(b)
    	fmt.Println(c)
    }
    

    再举一个简单例子:

    package main
    
    import "fmt"
    
    func main() {
    	const (
    		a = 0
    		b = 1
    		c = 2
    	)
    	fmt.Println(a)
    	fmt.Println(b)
    	fmt.Println(c)
    }

    C:/Go/bin/go.exe build -i [C:/Users/Adong]

    成功: 进程退出代码 0.

    C:/Users/Adong/Adong.exe [C:/Users/Adong]

    0

    1

    2

    成功: 进程退出代码 0.

    常量如果不赋值:

    package main
    
    import "fmt"
    
    func main() {
    	const (
    		a = 0
    		b = 1
    		c = 2
    		d
    	)
    	fmt.Println(a, b, c, d)
    }

    // 执行结果:
    0 1 2 2
    package main
    
    import "fmt"
    
    func main() {
    	const (
    		i = iota //0
    		a        //1
    		b = "heh"
    		c = "heh"
    		d = iota
    		e
    	)
    	fmt.Println(a, b, c, d, e)
    }
    

      

    iota的使用(可以给常量计数,出现一个常量的时候,会自增1,遇到const关键字后,自动变为0)

    package main
    
    import "fmt"
    
    func main() {
    	const (
    		i = iota //0
    		a        //1
    		b = "heh"
    		c = "heh"
    		d = iota
    		e
    	)
    	fmt.Println(a, b, c, d, e)
    }

    //执行结果:
    1 heh heh 4 5
  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/chenadong/p/9048863.html
Copyright © 2011-2022 走看看