• 初识Golang的语法、特性


    笔记背景

    已经学完了C/C++

    再学习Golang这门语言

    字符串

    "字符串":可解释型字符串 实现转义字符的效果

    `字符串`:原生型字符串 转义字符的效果不实现

    (`字符通常位于键盘左上角)

    字符串可以进行拼接

    字符串可以进行比较(按照字典序) 实现关系运算

    字符串可以使用切片(前闭后开的区间)提取子串

    字符串可以使用len()函数计算长度

    但以上两点要求字符串只包含ASCLL码(uint8)

    1. // "" 可解释型的字符串
    2. var str0 string = "\thello"
    3. // `` 原生型的字符串
    4. var str1 string = `\t你好`
    5. // 区别 前者会实现特殊字符的效果 而后者不会
    6. fmt.Println(str0)
    7. fmt.Println(str1)
    8. //字符串连接
    9. fmt.Println("今天" + "好开心")
    10. str2 := "你是"
    11. str2 += "苹果"
    12. fmt.Println(str2)
    13. //字符串关系运算 字典序比较
    14. fmt.Println("a" > "b")
    15. //访问字符串中的部分内容
    16. //要求字符串中只包含ASCII码(uint8)的字符 不能含有中文
    17. //区间前闭后开
    18. str3 := "happy"
    19. fmt.Println(str3[0:2])
    20. //字符串长度函数
    21. //要求字符串中只包含ASCII码(uint8)的字符 不能含有中文
    22. fmt.Println(len(str3))

    switch语句

    与C/C++不同语句块中的每一个case执行完后直接退出Switch语句

            不需要加break

    每一个case可以用逗号分隔出多种进入条件

    1. //switch语句
    2. var answer string
    3. fmt.Scan(&answer)
    4. switch answer {
    5. case "y", "Y":
    6. fmt.Println("同意")
    7. case "n", "N":
    8. fmt.Println("否定")
    9. default:
    10. fmt.Println("其他")
    11. }

    for语句

    可以利用break标签快捷跳出多重循

            标签应当放在所需跳出的循环的前一行

    可以利用range语句遍历字符串

    1. //for语句
    2. var sum int = 0
    3. for i := 0; i <= 100; i++ {
    4. sum += i
    5. }
    6. fmt.Println(sum)
    7. sum = 0
    8. i := 1
    9. for i <= 100 {
    10. sum += i
    11. i++
    12. }
    13. fmt.Println(sum)
    14. sum = 0
    15. i = 0
    16. for {
    17. sum += i
    18. i++
    19. if i == 101 {
    20. break
    21. }
    22. }
    23. fmt.Println(sum)
    24. str4 := "hello world"
    25. for i, ch := range str4 {
    26. //由单引号围绕的字符字面值 由Go语法安全地转义
    27. fmt.Printf("%d %q\n", i, ch)
    28. }
    29. //break标签
    30. var p, q int
    31. breakLabel:
    32. for p = 0; p < 5; p++ {
    33. for q = 0; q < 5; q++ {
    34. if p*q == 9 {
    35. break breakLabel
    36. }
    37. fmt.Println(p, q, p*q)
    38. }
    39. }
    40. fmt.Println(p, q, p*q)
    41. }

     

  • 相关阅读:
    SSH酒店管理系统
    整合定位技术应对物联网碎片化场景应用
    开家抖音小店能躺着挣钱?能月入过万?具体要怎么做
    这是一个高度不确定时代
    MATLAB遗传算法求解生鲜货损制冷时间窗碳排放多成本车辆路径规划问题
    项目部署服务器【java】
    Vue3 - Pinia 模块化(详细教程)
    什么是游戏盾?怎么进行防护?
    简单的咖啡文化静态HTML网页设计作品 DIV布局咖啡馆文化网页模板代码 DW咖啡网站制作成品
    MediaCodec_Analyze-3-start
  • 原文地址:https://blog.csdn.net/u014285914/article/details/126085341