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/
博客文章仅供交流学习,请勿用于商业用途。如需转载,请务必注明出处。
浙公网安备 33010602011771号