【云原生】golang入门题(这套足够让你熟悉代码)

打印58-23的数字

package main

import "fmt"

func main() {
	for i := 58; i >= 23; i-- {
		fmt.Printf("%d ", i)
	}
}

求1-100的和

package main

import "fmt"

func main() {
	//for i := 58; i >= 23; i-- {
	//	fmt.Printf("%d ", i)
	//}
	s := 0
	for i := 1; i <= 100; i++ {
		s += i
		fmt.Printf("+%d", i)
	}
	fmt.Printf("=%d", s)
}

打印1-100内,能够被3整除,不能被5整除的数字,统计打印的个数,每行打印5个

package main

import "fmt"

func main() {

	count := 0
	for i := 1; i < 100; i++ {
		if i%3 == 0 && i%5 != 0 {
			fmt.Printf("%d ", i)
			count++
			if count%5 == 0 {
				fmt.Println()
			}
		}
	}
}

九九乘法表

package main

import "fmt"

func main() {
	for i := 1; i <= 9; i++ {
		for j := 1; j <= i; j++ {
			fmt.Printf("%d x %d = %d ", i, j, i*j)

		}
		println()
	}
}

水仙花数 100-1000以内

package main

import (
	"fmt"
	"math"
)

func main() {
	for i := 100; i < 1000; i++ {
		x := i / 100
		y := i / 10 % 10
		z := i % 10
		if math.Pow(float64(x), 3)+math.Pow(float64(y), 3)+math.Pow(float64(z), 3) == float64(i) {
			fmt.Println(i)
		}

	}
}

2-100的素数

package main

import "fmt"

func main() {
	for i := 2; i < 100; i++ {
		flag := true
		for j := 2; j < i; j++ {
			if i%j == 0 {
				flag = false
				break
			}
		}
		if flag {
			fmt.Print(" ", i)
		}
	}
}

冒泡排序

package main

import "fmt"

func main() {
	arr := [5]int{2, 5, 7, 4, 1}
	for j := 1; j < len(arr)-1; j++ {
		for i := 0; i < 4; i++ {
			if arr[i] > arr[i+1] {
				arr[i], arr[i+1] = arr[i+1], arr[i]
			}
		}
		fmt.Println(j, arr)
	}

}

go模仿面向对象的继承性

package main

import "fmt"

func main() {
	p1 := Person{name: "langhuahua", age: 18}
	s1 := Student{Person{"langyaya", 19}, "cq"}

	var s2 Student
	s2.name = "langguagua" //直接访问父类属性
	s2.age = 18
	fmt.Print(p1, s1, s2)
}

// 父类
type Person struct {
	name string
	age  int
}

// 子类
type Student struct {
	Person //匿名字段
	area string
}

方法定义

package main

import "fmt"

func main() {
	wk1 := Worker{name: "langhuahua", age: 18}
	wk1.work()
	//
	wk2 := &Worker{name: "langcaica", age: 18} //指针型对象初始化
	wk2.sleeping()
}

type Worker struct {
	name string
	age  int
}

func (w Worker) work() { //方法定义
	fmt.Println(w.name, "在工作")
}
func (z *Worker) sleeping() { //指针型方法
	fmt.Println(z.name, "sleeping")
}

方法重写

package main

import "fmt"

func main() {
	wk1 := Person{name: "langdidi", sex: true}
	wk1.work() //调用父类方法
	wk2 := Worker{Person{"langhuahua", true}, 18}
	wk2.work() //调用重写后的方法
}

// "父类"
type Person struct {
	name string
	sex  bool
}

// "子类"
type Worker struct {
	Person
	age int
}

// 父类方法
func (p Person) work() {
	fmt.Println(p.name, "在工作")
}

// 子类方法
func (w Worker) work() { //重写父类
	fmt.Println(w.name, "睡着工作")
}

接口实现

package main

import "fmt"

func main() {
	k1 := Person{name: "langhuahua"}
	k1.start()
}

// 接口
type Boom interface {
	start()
	shot()
}

// 实现类
type Person struct {
	name string
}

func (P Person) start() {
	fmt.Println(P, "开炮")
}
func (P Person) shot() {
	fmt.Println(P, "冲小日本")
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霖宇长清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值