Go学习笔记:2、循环、条件语句,函数,结构体

一、Go语言循环

package main

import "fmt"

func main() {

	//循环方式1
	sum := 0
	for i := 1; i <=10; i++{
		sum += i
	}
	fmt.Println(sum)
	
	//循环方式2
	sum = 0
	//像while循环
	for sum<=10 {
		sum ++;
	}
	fmt.Println(sum)
	
	//迭代输出数组
	strs := [2]string{"google", "baidu"}
	for i,s := range strs {
		//i为小标,s为值
		fmt.Println(i, s)
	}
	
	nums := [6]int{11, 22, 33, 44, 55, 66}
	for i, x := range nums {
		fmt.Println(i, x)
	}
}

二、条件语句

package main

import "fmt"

func main(){
	var grade string = "B"
	var marks int = 90
	
	switch marks {
		case 90: grade = "A"
		case 80: grade = "B"
		case 50, 60, 70: grade = "C"
		default: grade = "D"
	}
	fmt.Println(grade)
	
	switch{
		case grade == "A":
			fmt.Println("优秀")
		case grade == "B", grade == "C":
			fmt.Println("良好")
		case grade == "D":
			fmt.Println("及格")
		case grade == "F":
			fmt.Println("不及格")
		default:
			fmt.Println("差")
	}
}

三、函数

package main

import "fmt"

func main() {
	var a,b =10,33
	
	//返回多个值
	a, b = swap(a,b)
	fmt.Println(a, b)
	
	//返回单个值
	fmt.Println(max(a,b))
	
	//传递引用
	swapX(&a, &b)
	fmt.Println(a, b);
}

func swap(x, y int) (int, int){
	return y,x
}

func max(x, y int) int{
	if(x >= y){
		return x
	}else{
		return y
	}
}

func swapX(x *int, y *int){
	tmp:= *x
	*x = *y
	*y = tmp
	
}

四、结构体

package main

import "fmt"

type Book struct{
	title string
	author string
	id int
}

func changeBook(book Book){
	book.title = "Java从入门到放弃"
}

func changeBookX(book *Book){
	book.title = "Java从入门到放弃"
}

func (book *Book) printBook(){    //为Book类型绑定printBook的方法,*Book为指针引用可以修改传入参数的值
    //方法归属于类型,不归属于具体的对象,声明该类型的对象即可调用该类型的方法
	fmt.Printf("book.title:%s\n", book.title)
	fmt.Printf("book.author:%s\n", book.author)
	fmt.Printf("book.id:%d\n", book.id)
}

func main(){
	var book1 Book
	book1.title = "Go从入门到放弃"
	book1.author = "张三"
	book1.id = 0001
	
	fmt.Println(book1)
	
	//修改title;发现title并没有被修改
	changeBook(book1)
	//修改后输出
	fmt.Println(book1)
	
	//修改title;发现title成功修改
	changeBookX(&book1)
	//修改后输出
	fmt.Println(book1)
	
	book1.printBook();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章