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
原文地址:https://www.cnblogs.com/chenadong/p/9048863.html