r1笔记第3天 Golang (02)

example01:定义两个常量Man=1 和Female=2,获取当前时间的秒数,如果能被Female整除,则在终端打印femal,否则打印man。

main.go

package main

import (
	"fmt"
	"time"
)

const (
	Man = 1
	Female = 2
)

func main()  {
	for i :=0;i<10;i++ {
		second := time.Now().Unix()
		fmt.Println(second)
		if (second % Female == 0) {
			fmt.Println("man")
		} else {
			fmt.Println("female")
		}
		time.Sleep(1 * time.Second)
    }
}

运行结果:

PS F:\go\src\go_dev\day2\example03\main> go run .\main.go
1575279468
man
1575279471
female
1575279474
man
1575279477
female
1575279480
man
1575279483
female
1575279486
man
1575279489
female
1575279492
man
1575279495
female
PS F:\go\src\go_dev\day2\example03\main>

example02:写一个程序获取当前运行的操作系统名称和PATH环境变量的值,并打印在终端。

package main

import (
	"fmt"
	"os"
)

func main()  {
	var goos string = os.Getenv("GOOS")
	fmt.Println("the os system is:",goos)
	var path string = os.Getenv("PATH")
	fmt.Println("the os system is:",path)
}

运行结果:

PS F:\go\src\go_dev\day2\example04\main> go run .\main.go
the os system is:
the os system is: C:\ProgramData\Oracle\Java\javapath;G:\app\oracle12c\product\12.1.0\dbhome_1\bin;E:\software\python3.5\Scripts\;E:\software\python3.5\;C:\Program Files (x86)\Intel\iCLS
 ...
Code\bin;C:\Users\xiehz\AppData\Local\GitHubDesktop\bin;C:\Users\xiehz\AppData\Local\Microsoft\WindowsApps;E:\software\hugo;
PS F:\go\src\go_dev\day2\example04\main>

如果系统没有设置变量,就会输出空。


知识点:

值类型:基本数据类型int、float、bool、string以及数组和struct

引用类型: 指针、slice、map、chan等都是引用类型

example03:写一个程序用来打印值类型和引用类型变量到终端,并观察输出结果。

package main

import (
	"fmt"
)

func modifyPointer( a *int)  {
	*a = 10
	fmt.Println("a in modifyPointer = ",*a)
	return
}

func modifyValue(a int)  {
	a = 20
	fmt.Println("a in modifyValue =", a)
	return
}

func main()  {
	a := 100
	b := make(chan int,1)
	fmt.Println("a in main = ", a)
	fmt.Println("b = ", b)
	fmt.Println("======================")
	modifyValue(a)
	fmt.Println("a in main = ", a)
	fmt.Println("======================")
	modifyPointer(&a)
	fmt.Println("a in main = ", a)
}

运行结果:

PS F:\go\src\go_dev\day2\example05\main> go run .\main.go
a in main =  100
b =  0xc04209a000
======================
a in modifyValue = 20
a in main =  100
======================
a in modifyPointer =  10
a in main =  10
PS F:\go\src\go_dev\day2\example05\main>

example04:使用math/rand生成10个随机整数,10个小于100的随机整数以及10个随机浮点数。

main.go

package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main()  {
	rand.Seed(time.Now().Unix())
	for i :=0;i< 10; i++{
		a := rand.Int()
		fmt.Println(a)
	}

	for i := 0;i <10;i++{
		a := rand.Intn(100)
		fmt.Println(a)
	}

	for i := 0;i<10;i++ {
		a := rand.Float32()
		fmt.Println(a)
	}
}

运行结果:

PS F:\go\src\go_dev\day2\example07\main> go run .\main.go
5577006791947779410
...
2775422040480279449
94
...
6
0.20318687
...
0.69671917
PS F:\go\src\go_dev\day2\example07\main>

example05: 字符串输出两种,双引号:一行一行;反引号:保留格式

package main

import (
	"fmt"
)

func main()  {
	var str = "hello world \n"
	var str1 = `
	aaaaa
	bbbbb
	ccccc
	ddddd
	`
	var b byte = 'c'
	fmt.Println(str)
	fmt.Println(str1)
	fmt.Printf("%c \n",b)
}

运行结果:

PS F:\go\src\go_dev\day2\example08\main> go run .\main.go
hello world
        aaaaa
        bbbbb
        ccccc
        ddddd
c
PS F:\go\src\go_dev\day2\example08\main>

example06:整数,字符,字符串

package main

import (
	"fmt"
)

func main()  {
	var a int = 100

	fmt.Printf("%d\n",a)
	fmt.Printf("%c\n",a)
	fmt.Printf("%q\n",a)

	str := fmt.Sprintf("%d",a)
	fmt.Printf("%q\n",str)
}

运行结果:双引号的是字符串

PS F:\go\src\go_dev\day2\example09\main> go run .\main.go
100
d
'd'
"100"
PS F:\go\src\go_dev\day2\example09\main>

example07:字符串的操作

package main

import (
	"fmt"
)

func main()  {
	var str1 = "hello"
	str2 := "world"

	str3 := fmt.Sprintf("%s %s",str1,str2)
	fmt.Println(str3)
/*
	for i,_:= range str3 {
		fmt.Printf("%c \n", str3[i])
	}
*/
	substr := str3[0:5]
	fmt.Println(substr)

	substr = str3[6:]
	fmt.Println(substr)

	for i := len(str3)-1;i>=0;i--{
		fmt.Printf("%c",str3[i])
	}
	
	n := len(str3)
	for i,_ := range str3 {
		fmt.Printf("%c",str3[n-i-1])
	}
}

运行结果:

PS F:\go\src\go_dev\day2> go run .\example10\main\main.go
hello world
hello
world
dlrow ollehdlrow olleh
PS F:\go\src\go_dev\day2>

 

写点心情:

2019年12月2号,北京的天气这两天很不错,没有风,所以不太冷。写博客的第3天,每天都记录一点,享受每日精进的感觉。

 

但也发现一些问题:

1、我的笔记是否有价值呢?

2、缺少了自己的思考,要把自己的想法写进来,不然只是贴简单代码,没有价值。

3、每天要管理好自己的时间,避免花太多时间在某一块内容,而忽略了其它课程的学习。

 

目前,比较紧急的事情有如下三个:

1、openstack集成kubernetes。

2、openstack、kubernetes、docker的体系架构需要熟练掌握以及需要系统地学习原理。

3、golang的学习,多写代码以及写项目。

 

今天很意外地发现,原来的同事洪jr,也出差到集成,就在工位对面的会议室。小格调同学还带了好吃的,明天会带来,开心,小期待一下~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值