go基础语法

go基本语法

变量定义
package main

import "fmt"

// 定义变量 var 【可放在函数内,或直接放在包内】
var aa = 3  // 作用域:只存在当前包内部
var ss = "hello"

var (
	bb = 1
	cc = "123"
)

func variable() {
	var a int
	var s string
	fmt.Printf("%d %q\n", a, s)

}

func variableValue() {
	var a, b = 3, 4
	var s string = "123"
	fmt.Println(a, b, s)
}

func variableTypeDeduction() {
	var a, b, c, d = 3, 4, true, "def" // 让编译器自动识别变量类型
	fmt.Println(a, b, c, d)
}

func variableShorter() {
  a, b, c, d := 3, 4, true, "def"  // := 只允许在函数内使用,不能在外面使用
	b = 5
	fmt.Println(a, b, c, d)
}

func main() {
	fmt.println("Hello word")
	variable()
	variableValue()
	variableTypeDeduction()
	variableShorter()
	fmt.Println(aa, bb, cc, ss)
}

==============================
Hello word
0 ""
3 4 123
3 4 true def
3 5 true def
3 1 123 hello

内建变量类型
  • bool,string
  • (u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr //ptr:指针
  • byte,rune
  • float32,float64,complex64,complex128 // complex 复数
常量定义
//常量 const 数值可作为各种类型使用
const filename = "abc.txt"

func consts() {
	const a, b = 3, 4
	var c int
	c = int(math.Sqrt(a*a + b*b))
	fmt.Println(filename, c)
}
==================
abc.txt 5
枚举类型
// 枚举类型通过 iota 来定义

func meiju() {   
	const (
		a = 1 + iota  //自增枚举
		b
		c
		d
	)
	fmt.Println(a, b, c, d)
}

===================
1 2 3 4
条件语句
# if-else

func main() {
	const filename = "abc.txt"
	//contents, err := ioutil.ReadFile(filename)
	//if err != nil {
	//	fmt.Println(err)
	//} else {
	//	fmt.Println("%s\n", contents)
	//}

	if contents, err := ioutil.ReadFile(filename); err != nil {
		fmt.Println(err)
	} else {
		fmt.Println("%s\n", contents)
	}
}

==========
open abc.txt: no such file or directory



# switch

func grade(score int) string {
	g := ""
	switch {
	case score < 0 || score > 100:
		panic(fmt.Sprintln("Wrong score:%d", score))
	case score < 60:
		g = "F"
	case score < 80:
		g = "C"
	case score < 90:
		g = "B"
	case score <= 100:
		g = "A"
	}
	return g
}

=========

posted @ 2022-05-26 16:42  quietz  阅读(51)  评论(0)    收藏  举报