//syntax
package main //入口
import "fmt" // 引入包
func main() { // main语言入口函数
const LENGTH int = 10 //定义常量, 常量不能被修改
//常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型
//LENGTH=2;
//修改值这里会报错:cannot assign to LENGTH (neither addressable nor a map index expression)
var testInt int = 1; // 定义 int 变量并赋值
var testString string; // 定义 string 类型 不赋值
testString="test"//赋值
testInt2 :=20; // 定义并赋值 20, 自动识别类型=int
var b, c int = 1, 2 //定义两个变量b,c并赋值
// go 语言定义了的变量必须被使用,否则编译报错,
// 错误: testInt2 declared and not used
testInt2=b+c; //加法运算
testString+="1"; // testString="test1"
fmt.Println(testString);
var pInt *int; // 定义指针 关键字*
pInt=&testInt; // 获取testInt的指针 关键字&
// testString = testInt==1?"true":"false"
// fmt.Println(testString);
// if语句
if testInt!=1 || true {
fmt.Println("==========if: true==========");
}//输出结果为:"==========if: true=========="
if testInt==2 {
fmt.Println("==========2ng if: true==========")
} else {
fmt.Println("==========2ng if: false==========")
}
//输出结果为:"==========2ng if: false=========="
// switch语句
switch testInt {
case 0:
testString="testString:0"
break;
case 1:
testString="testString:1"
break;
default:
testString="testString:default"
break;
}
fmt.Println(testString); // 结果为"testString:1"
// for 语句
var s string="hello";
for i := 0;i<len(s);i++ {
//s[i]为bype类型,输出ASCII码
// fmt.Println(s[i]);
fmt.Println(string(s[i]));
}
fmt.Println(testInt);
// fmt.Println(testString);
fmt.Println(testInt2);
fmt.Printf("%T",testInt2);
fmt.Println(testInt,b,c,pInt);
}