1. 程式人生 > 實用技巧 >Go之變數與條件分支

Go之變數與條件分支

package main

import "fmt"
import   "strings"
func main() {
	/*
	 * 變數
	 */
	// 變數和常量都不能重新宣告
	var name string
	var age int 
	var isOk  bool 
	fmt.Println(name, age, isOk)
	// 批量宣告變數
	var (
		a string 
		b int 
		c bool
		d float32
	)
	fmt.Println(a, b, c, d)

	// 宣告變數同時指定初始值
	var book string = "小王子"
	fmt.Println(book)
	// 型別推導,讓編譯器根據變數的初始值推匯出其型別
	var sex, city = 0, "北京"
	fmt.Println(sex, city)
	author := "魯迅"
	// 短變數宣告,只允許用在函式的內部
	fmt.Println(author)
	// 匿名變數,不佔用名稱空間,不會分配記憶體
	_ = 123
	
	/*
	 * 常量
	 */
	 // 常量在定義是必須賦值,且不能再次賦值
	const pi = 3.14159
	const (
		system = "windows"
		language = "golang"
	)

	// iota是常量計數器,只能在常量的表示式中使用
	// iota在const關鍵詞出現時被重置為0,const中每
	// 新增一行常量宣告將使iota計數一次
	// 使用iota能簡化定義,在定義列舉時很有用
	const (
		a1 = iota // 0
		_         // 1
		a2 = 100		  // 插隊
		a3 = iota // 3
		a4        // 4
		          // ..
	)
	fmt.Println(a1, a2, a3, a4)

	// 列印d:\go
	fmt.Println("d:\\go")
	demo := `多
行
字
符
串`
	fmt.Println(demo)
	// 列印字串長度
	fmt.Println(len("你好")) // 6
	// 字串拼接
	fmt.Println("日" + "本")
	// 字串分割
	ddd := "how do you do"
	fmt.Println(strings.Split(ddd, " ")) // 得到切片型別

	// 字元
	// byte unit8的別名 AECII碼
	// rune int32的別名
	var b1 byte = 'c' 
	fmt.Printf("%T\n", b1) // uint8

	// 條件分支
	score := 65
	if score >= 90{
		fmt.Println("A")
	}else if score >= 80{
		fmt.Println("A")
	}else{
		fmt.Println("C")
	}
	for i:= 0; i < 2; i++{
		fmt.Println(i)
	}
	i := 0
	for i < 2{
		fmt.Println(i)
		i++
	}
	year := 2020
	switch year {
		case 2020:
			fmt.Println("是今年")
			break
		default:
			fmt.Println("不是今年")	
	}
}