1.利用goto关键字,将循环十次的for循环,改为只执行一次。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 1 {
goto Here
}
fmt.Printf("%d", i);
}
Here:
}
2.声明一个数组,并循环输出:
package main
import "fmt"
func main() {
var arr1 = [5] int{1,2,3,4,5};
for i := 0; i < len(arr1); i++ {
fmt.Printf("%d", arr1[i]);
}
}
3.编写一个程序,打印从 1 到 100 的数字。当是3的倍数就打印 “Fizz”,当是5的倍数数就打印 “Buzz” 。当数字同时是3和5的倍数时,打印 “FizzBuzz” 。
package main
import "fmt"
func main() {
for i := 1; i < 101; i++ {
if i % 3 == 0 && i % 5 != 0 {
fmt.Print("\nFizz");
}else if i % 3 != 0 && i % 5 == 0{
fmt.Print("\nBuzz");
}else if i % 3 == 0 && i % 5 == 0{
fmt.Print("\nFizzBuzz");
}else {
fmt.Print("\n",i);
}
}
}
4.1. 建立一个 Go 程序打印下面的内容(到 100 个字符):
A
AA
AAA
AAAA
AAAAA
AAAAAA
AAAAAAA
…
package main
import "fmt"
func main() {
for i := 1; i < 101; i++ {
for j :=1; j<=i; j++{
fmt.Print("A")
if j == i{
fmt.Print("\n");
}
}
}
}
5.求一个float64的切片的平均数。
package main
import "fmt"
func main() {
var aaa = []float64 {1.0,2.0};
s := aaa[0:2];
var avg = average(s);
fmt.Print(avg);
}
func average(x []float64) (avg float64) {
sum := 0.0
switch len(x) {
case 0:
return 0.0;
default:
for _,v := range x{
sum += v;
}
avg = sum/float64(len(x));
}
return
}
6.返回两个整数的自然顺序
package main
import "fmt"
func main() {
fmt.Print(sort(4,3))
}
func sort(i1,i2 int)(j1,j2 int) {
if i1 < i2{
return i1,i2;
}
return i2,i1;
}