欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Go語言學(xué)習(xí)-----Gin框架項(xiàng)目實(shí)戰(zhàn)(Day3&Day4)-創(chuàng)新互聯(lián)

一.不會的函數(shù)方法以及用途作用
open, err := os.Open(filePath)

os.Open() 打開filePath路徑的文件,返回一個*File和err

10年積累的網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有烏當(dāng)免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
scanner := bufio.NewScanner(open)

bufio.NewScanner() open即為*File,返回scanner,

for scanner.Scan() {
		text := scanner.Text()
		var topic Topic
		if err := json.Unmarshal([]byte(text), &topic); err != nil {
			return err
		}

for scanner.Scan(){}可以遍歷文件的每一行,即每次調(diào)用scanner,Scan()可以讀入下一行,讀取的內(nèi)容可以調(diào)用scanner.Text()得到,Scan函數(shù)在讀到一行時返回true,不再有輸入時返回false。json.Unmarshal(傳入[]byte(byte數(shù)組), 傳入一個結(jié)構(gòu)體指針)

Go中的byte

var a byte = 'a' 其實(shí)就是一個字符。

byte數(shù)組 []byte,可以與string之間互相轉(zhuǎn)換

[]byte轉(zhuǎn)string

var a byte = 'a'
	fmt.Println(a)
	var b [10]byte
	b[0] = 'a'
	b[1] = 'b'
	b[2] = 'c'
	var str string
	str = string(b[:])
	fmt.Println(str)
運(yùn)行結(jié)果
97
abc

string轉(zhuǎn)[]byte

str := "abc"
	var data []byte = []byte(str)
	fmt.Println(data)
運(yùn)行結(jié)果
[97 98 99]
二.讀寫輸入
package repository

import (
	"bufio"
	"encoding/json"
	"fmt"
	"os"
)

type Topic struct {
	Id         int    `json:"id"`
	Title      string `json:"title"`
	Content    string `json:"content"`
	CreateTime int64  `json:"create_time"`
}
type Post struct {
	Id        int64  `json:"id"`
	ParentId  int64  `json:"parent_id"`
	Content   string `json:"content"`
	CreatTime int64  `json:"creat_time"`
}

var (
	topicIndexMap map[int64]*Topic
	postIndexMap  map[int64][]*Post
)

func InitTopicIndexMap() error {
	open, err := os.Open("./data/topic")
	if err != nil {
		return err
	}
	scanner := bufio.NewScanner(open)
	topicTmpMap := make(map[int64]*Topic)
	for scanner.Scan() {
		text := scanner.Text()
		var topic Topic
		if err := json.Unmarshal([]byte(text), &topic); err != nil {
			return err
		}
		topicTmpMap[int64(topic.Id)] = &topic

	}
	topicIndexMap = topicTmpMap
	for k, v := range topicIndexMap {
		fmt.Println(k, *v)
		//fmt.Printf("%#v")
	}
	return nil
}

func InitPostIndexMap() error {
	open, err := os.Open("./data/post")
	if err != nil {
		return err
	}
	scanner := bufio.NewScanner(open)
	postTmpMap := make(map[int64][]*Post)
	for scanner.Scan() {
		text := scanner.Text()
		var post Post
		err := json.Unmarshal([]byte(text), &post)
		if err != nil {
			return err
		}
        // 判斷該帖子是否存在在postTmpMap中
		// 如果存在則posts接受的是一個結(jié)構(gòu)體指針切片,若不存在,則是空,則需要給他這個key創(chuàng)建一                
           個結(jié)構(gòu)體指針切片
		// value, true/false := map[key]
		//用來判斷此key在map中有沒有value
		posts, ok := postTmpMap[post.ParentId]
        // 如果不存在,則添加一個[]*Post結(jié)構(gòu)體指針切片,結(jié)構(gòu)體指針切片指的是只能在切片中存放結(jié)構(gòu)    
           體指針
		if !ok {
			postTmpMap[post.ParentId] = []*Post{&post}
			continue
		}
        // 切片append,因?yàn)槭墙Y(jié)構(gòu)體指針切片,所以要放結(jié)構(gòu)體指針
		posts = append(posts, &post)
		postTmpMap[post.ParentId] = posts
	}
	postIndexMap = postTmpMap
	for k, v := range postIndexMap {
		fmt.Println(k)
		for i := 0; i< len(v); i++ {
			fmt.Println(*v[i])
		}
	}
	return nil
}
package main

import (
	"Gin_project/repository"
	"fmt"
)

func main() {
	if err := repository.InitTopicIndexMap(); err != nil {
		fmt.Println(err)
	}
	if err := repository.InitPostIndexMap(); err != nil {
		fmt.Println(err)
	}
}

指針類型的變量,直接輸出的是地址,要輸出內(nèi)容,則在前面加*即可。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前標(biāo)題:Go語言學(xué)習(xí)-----Gin框架項(xiàng)目實(shí)戰(zhàn)(Day3&Day4)-創(chuàng)新互聯(lián)
當(dāng)前URL:http://www.aaarwkj.com/article4/dgddie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、面包屑導(dǎo)航網(wǎng)站維護(hù)、網(wǎng)站設(shè)計品牌網(wǎng)站建設(shè)、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
日韩人妻熟妇中文字幕| 国产无遮挡又黄又爽网站| 青青草原这里只有精品| 欧美大片高清在线观看| 中文字幕乱码亚洲影视| 五月综合丁香婷婷久久| 国产精品福利午夜在线观看| 国产精品一区二区三区激情 | 五月婷婷六月丁香在线观看| 国产在线精品专区第一页| 亚洲亚洲精品av在线动| 精品嫩模福利一区二区蜜臀| 久久视频在线播放视频| 日本少妇入口一区二区| 最新日韩一区二区在线| 极品美女被插到高潮喷水| 男人的天堂在线观看黄片| 久久男女激情免费视频| 日韩视频精品一区二区| 日韩黄片一区二区三区| 日韩在线视频观看一区二区三区| 国产自产一区二区三区精品| 97在线资源视频播放| 性生活视频在线观看免费| 久久国产精品av在线观看| 色婷婷精品二区久久蜜臀av| 亚洲成av人一区二区三区| 亚洲欧美激情啪啪啪| 中文字幕日韩欧美资源站| 国产精品久久一国产精品| 国产成人国产精品国产三级| 亚洲综合另类小说专区| 国产精品一区二区三区日本| 亚洲一区二区精品免费视频| 国产欧美日本一区二区| 久久99国产精品成人免费| 国产日本欧美一区二区三区| 懂色av中文一区二区| 亚洲国产自拍精品视频| 91美女黑丝免费国产视频| 国产麻豆精品二区视频|