打印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, "冲小日本")
}