• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
敬YES
Now Or Never
博客园    首页       联系   管理    订阅  订阅
2.Go基础语法

1. fmt

package main
import "fmt"
func main() {

    fmt.Println("Hello World")

    fmt.Println("打印中文")

    fmt.Print("我不换行打印", "后面还有。")

    fmt.Printf("我是%s,中间拼接\n", "敬YES")

    fmt.Println("我是", "敬YES")

    //拼接的字符串放到一个变量中

    temp := fmt.Sprintf("我叫%s,今年%d岁,身高%f米\n", "张三", 20, 1.75)

    fmt.Println(temp)

}
  • fmt.printf: 格式化打印
  • fmt.Sprintf: 格式化后的字符串存到一个变量中
  • fmt.Println: 换行打印

2. 变量

定义变量

  • var关键字定义变量
  • 语法糖直接给变量赋值

变量类型:reflect.TypeOf(temp)

package main

import "fmt"
import "reflect"

func main() {

    //第一种:使用var关键字定义变量

    //1.var 关键字定义变量

    var name string = "敬YES"

    fmt.Println("我的名字是", name)
  

    //2.先用var定义变量,再赋值

    var age int

    age = 30

    fmt.Println("我的年龄是", age)


    //3.多变量同时定义

    var a, b, c int = 1, 2, 3

    fmt.Println("a,b,c的值是", a, b, c)


    //4.定义多个变量类型不同

    var (

        name2 string = "敬YES"

        age2  int    = 30

        sex   string = "男"

    )

    fmt.Println("我的名字是", name2, "我的年龄是", age2, "我的性别是", sex)


    //第二种:使用语法糖定义变量

    isvalid := true

    fmt.Println(isvalid)

  
    //如何确定变量类型

    var temp = 100

    fmt.Printf("temp的类型是%T\n", temp)


    //reflect.TypeOf() 获取变量类型

    fmt.Println(reflect.TypeOf(temp))

}

3. 常量

const关键字定义常量

func main() {

    const a, b, c = 1, 2, 3

    fmt.Println(a, b, c)

}

4. 函数和作用域

func关键字自定义函数

func main() {

    printAd()

}

  

func printAd() {

    fmt.Println("Hello World")

    fmt.Printf("课程免费体验")

}

注意:全局变量不能使用语法糖声明

var name string = "全局变量"
//错误
name3 :="全局语法糖"

5. 字符串和数值运算

func numOperation(a, b int) {

    fmt.Println("数值运算:")

    fmt.Printf("%d + %d =%d\n", a, b, a+b)

    fmt.Printf("%d - %d =%d\n", a, b, a-b)

}


func stringOperation(a, b string) {

    result := fmt.Sprintf("%s %s", a, b)

    fmt.Printf("%s和%s拼接结果是:%s\n", a, b, result)

}

  
func display(name string, age int) {

    result := fmt.Sprintf("你好,我叫%s,今年%d岁。", name, age)

    fmt.Println(result)

}

除法,要注意类型转换

fmt.Printf("%d / %d = %f \n", a, b, float32(a)/float32(b))

6. for循环

for和if语句不加括号

func main() {

    count := 0

    for i := 0; i < 100; i++ {

        if i%2 == 0 {

            count++

        }

    }

    fmt.Printf("偶数个数:%d", count)

}

go语言中实现while循环逻辑也用for循环

func f2(num int) {

    count := 0

    i := 0

    for i < num {

        if i%2 == 1 {

            count++

        }

    }

    fmt.Printf("奇数个数:%d\n", count)

}

7. 时间格式化

间歇的写法:time.sleep(time.Second * 5)
获取当前时间:time.Now()
GO这个时间格式化有点搞笑:是用go语言的诞生时间 "2006-01-02 15:04:05"

func f3() {

    for {

        fmt.Println("当前时间是:", time.Now().Format("2006/01/02 15:04:05"))

        fmt.Println("当前时间是:", time.Now().Format("06/01/02 15:04"))

        fmt.Println("你好")

        time.Sleep(time.Second * 5)

    }

}

作者:陈敬(公众号:敬YES)
出处:http://www.cnblogs.com/janes/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。

posted on 2025-09-24 20:31  敬YES  阅读(5)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3