基础语法

发布时间 2023-12-28 22:35:55作者: Terry841119
一些基础语法
定义变量、常量、赋值、运算、if/switch/for语句
//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);
}