首页后端开发GOGolang 开发外包熟练教程(从零开始学GO)

Golang 开发外包熟练教程(从零开始学GO)

时间2023-10-27 19:20:02发布访客分类GO浏览997
导读:golang特点goroutine:性能极高(占用内存小,并发数多) 运行时直接打包代码:不依赖任何环境即可执行Hello Worldpackage main import "fmt" func main( { fmt.Printl...

golang特点

goroutine:性能极高(占用内存小,并发数多) 运行时直接打包代码:不依赖任何环境即可执行Hello World

package main

import "fmt"

func main() {

	fmt.Println("hello world")
}

variable

package main

import "fmt"

func main() {

	var username, sex string
	username = "张鹏"
	sex = "男"
	fmt.Println(username)
	fmt.Println(sex)
	// 方法一
	var num int = 100
	fmt.Println(num)
	// 方法二
	var num2 int
	num2 = 200
	fmt.Println(num2)
	num3 := 300
	fmt.Println(num3)
}

variable multiple

package main

import "fmt"

func main() {

	var username, sex string
	username = "张鹏"
	sex = "男"
	fmt.Println(username)
	fmt.Println(sex)
	// 方法一
	var num int = 100
	fmt.Println(num)
	// 方法二
	var num2 int
	num2 = 200
	fmt.Println(num2)
	num3 := 300
	fmt.Println(num3)
}

constant

package main

import "fmt"

func main() {

	const const_num = 100
	fmt.Println("这是一个常量:", const_num)
	// 变量1
	var num1 int
	num1 = 100
	// 变量2
	num2 := 200
	fmt.Println("这是一个变量:", num1, num2)
}

[zhangpeng@27ops constant]$ go run const.go
这是常量: 100
这是变量: 200
[zhangpeng@27ops constant]$

init and main

package main

import "fmt"

var log string

// go语言执行的函数入口,所有函数运行都是从main函数开始的
func main() {

	fmt.Println("this is main function")
}


func init() {

	log = "log对象"
	fmt.Println("this is init function", log)

}

[zhangpeng@27ops init_main]$ go run init_main.go
this is init function
this is  main function
[zhangpeng@27ops init_main]

call from main function

package main

import "fmt"

var init_func string
var main_func string

func main() {

        main_func = "main function"
        fmt.Println("1th function,this is", main_func)
        sayhi()
}


func init() {

        init_func = "init function"
        fmt.Println("2th function,this is", init_func)
}


func sayhi() {

        fmt.Println("3th function,call from main function")
}


[zhangpeng@27ops init_main]$ go run init_main.go
2th function,this is init function
1th function,this is main function
3th function,call from main function
[zhangpeng@27ops init_main]$

call from init function

package main

import "fmt"

var init_func string
var main_func string

func main() {

        main_func = "main function"
        fmt.Println("1th function,this is", main_func)
        sayhi()
}


func init() {

        init_func = "init function"
        fmt.Println("2th function,this is", init_func)
        sayhi2()
}


func sayhi() {

        fmt.Println("3th function,call from main function")
}


func sayhi2() {

        fmt.Println("4th function,call from init function")
}

[zhangpeng@27ops init_main]$ go run init_main.go
2th function,this is init function
4th function,call from init function
1th function,this is main function
3th function,call from main function
[zhangpeng@27ops init_main]$

type of int

package main

import (
	"fmt"
	"reflect"
	"unsafe"
)

func main() {

	// 整型数值
	var (
		a1 int
		b1 int8
		c1 int16
		a2 int32
		b2 int64
	)
	a1 = 4
	b1 = 100
	a2 = 1000
	b2 = 1000
	fmt.Println(a1)
	fmt.Println(b1)
	fmt.Println(c1)
	fmt.Println(a2)
	fmt.Println(b2)
	// 查看数据类型方法一:reflect.TypeOf(a)
	fmt.Println(reflect.TypeOf(a1))
	// 查看数据类型方法二:使用printf %T类型 %v值
	// %s 打印字符串 %d打印数值
	fmt.Printf("a: %T %v \n", a1, a1)

	// 打印字节数
	fmt.Println("字节长度", unsafe.Sizeof(b2))
}

C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_numbers_go.exe
4
100
0
1000
1000
int
a: int 4 
字节长度 8

Process finished with the exit code 0

type of bool

package main

import (
	"fmt"
	"unsafe"
)

func main() {

	br := true
	var b3 = false
	fmt.Println(br, b3)

	// 打印字节数
	fmt.Println(unsafe.Sizeof(br))
}


C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_data_bool_go.exe
true false
1

Process finished with the exit code 0

string

// study string
package main

import "fmt"

func main() {

        s1 := "单个字符串"
        s2 := `
第一个字符串
第二个字符串
第三个字符串
`
        fmt.Println(s1)
        fmt.Println(s2)
}


[zhangpeng@27ops string]$ go run string_demo.go
单个字符串

第一个字符串
第二个字符串
第三个字符串

[zhangpeng@27ops string]$

slice

[zhangpeng@27ops slice]$ cat string_slice_for.go
package main

import "fmt"

func main() {

        v := []string{
"bj", "sh", "sz"}
    
        for i := 0;
     i  len(v);
 i++ {

                //fmt.Println(i)
                fmt.Println(i,v[i])
        }

}

[zhangpeng@27ops slice]$

[zhangpeng@27ops slice]$ go run string_slice_for.go
0 bj
1 sh
2 sz
[zhangpeng@27ops slice]$

map

package main

import "fmt"

func main() {

	/*
		map是一种无序的基于key-value的数据结构
		定义一个map字典
	*/
	// [string]:表示key的数据类型
	// string:表示value值的数据类型
	userInfo := map[string]string{

		"张鹏": "18",
		"性别": "男",
	}

	fmt.Println(userInfo)
	/*
		判断一个key是否在map中
	*/
	val, ok := userInfo["张鹏"]
	fmt.Println(val, ok)
	val, user := userInfo["zhangpeng"]
	fmt.Println(val, user)
}
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Golang 开发外包熟练教程(从零开始学GO)
本文地址: https://pptw.com/jishu/513478.html
golang开发外包熟练之gin & net(二) 外包精通--golang之k8s开发(一)

游客 回复需填写必要信息