您当前的位置:首页 > 生活 > 内容

饥荒地图全开代码,饥荒联机版地图全开代码(<string>与字符编码)

关于【饥荒地图全开代码】,饥荒联机版地图全开代码,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、ch12、字符串(string)与字符编码2、饥荒地图全开代码:饥荒联机版地图全开代码

1、ch12、字符串(string)与字符编码

1、字符串

与其它编程语言的差异:

string是数据类型,不是引用或指针类型string是只读的byte slice(不可变类型),len计算的是包含所有byte数string的byte数组可以存放任何数据

package stringimport "testing"func TestString(t *testing.T) {var s stringt.Log(s) // 初始化为默认零值""s = "hello"t.Log(len(s))//s[1] = 3// string是不可变的byte slices = "\xE4\xB8\xA5"t.Log(s)t.Log(len(s)) // 3}

2、字符编码:Unicode VS. UTF-8

Unicode 是一种编码符号表示集(code point)

UTF8 是 unicode 的存储实现 (转换为字节序列的规则)方式之一

注意: Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。(是按照两个字节还是三个字节or四个字节存储?)

package stringimport "testing"func TestString(t *testing.T) {var s strings = "中"t.Log(len(s))c := []rune(s)t.Logf("中 unicode:%x", c[0]) // 中 unicode:4e2dt.Logf("中 utf-8: %x", s) // 中 utf-8: e4b8ad}

对应的表示法:

字符

‘中’

Unicode

0x4E2D

UTF8

0xE4B8AD

String/[]byte

[0xE4,0xB8,0xAD]

可参考资料:

字符编码笔记:ASCII,Unicode 和 UTF-8:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html?from=timeline

Unicode官方符号对应表:https://home.unicode.org/

Unicode汉字对应表:http://www.chi2ko.com/tool/CJK.htm

在UTF-8中一个汉字占3个字节

package mainimport "fmt"func main() {str1 := "lnj"fmt.Println(len(str1)) // 3str2 := "公号:代码情缘"fmt.Println(len(str2)) // 21}

3、常用字符串函数

strings包:https://pkg.go.dev/strings

strconv包:https://pkg.go.dev/strconv

package string_fnimport ("strconv""strings""testing")func TestStringFn(t *testing.T) {s := "A,B,C"parts := strings.Split(s, ",")t.Log(parts)for _, part := range parts {t.Log(part)}}func TestIntConv(t *testing.T) {s := strconv.Itoa(10)t.Log("str" + s)if i, err := strconv.Atoi("10"); err == nil { //字符串转换为整型时,需要进行校验是否转换成功t.Log(10 + i)}}

4、字符串相关方法

如果字符串中包含中文, 又想精确的计算字符串中字符的个数而不是占用的字节, 那么必须先将字符串转换为rune类型数组

Go语言中byte用于保存字符, rune用于保存汉字

package mainimport "fmt"func main() {str := "测试:代码之旅"// 注意byte占1个字节, 只能保存字符不能保存汉字,因为一个汉字占用3个字节arr1 := []byte(str) // 21fmt.Println(len(arr1))for _, v := range arr1 {fmt.Printf("%c", v) // å¬å·ï¼šä»£ç æƒç¼˜}fmt.Println()// Go语言中rune类型就是专门用于保存汉字的arr2 := []rune(str)fmt.Println(len(arr2)) // 7for _, v := range arr2 {fmt.Printf("%c", v) // 测试:代码之旅}}

查找子串在字符串中出现的位置

func Index(s, sep string) intfunc IndexByte(s string, c byte) intfunc IndexRune(s string, r rune) intfunc IndexAny(s, chars string) intfunc IndexFunc(s string, f func(rune) bool) intfunc LastIndex(s, sep string) intfunc LastIndexByte(s string, c byte) intfunc LastIndexAny(s, chars string) intfunc LastIndexFunc(s string, f func(rune) bool) int

package mainimport ("fmt""strings")func main() {// 查找`字符`在字符串中第一次出现的位置, 找不到返回-1res := strings.IndexByte("hello 李南江", 'l')fmt.Println(res) // 2// 查找`汉字`OR`字符`在字符串中第一次出现的位置, 找不到返回-1res = strings.IndexRune("hello 李南江", '李')fmt.Println(res) // 6res = strings.IndexRune("hello 李南江", 'l')fmt.Println(res) // 2// 查找`汉字`OR`字符`中任意一个在字符串中第一次出现的位置, 找不到返回-1res = strings.IndexAny("hello 李南江", "wml")fmt.Println(res) // 2// 会把wmhl拆开逐个查找, w、m、h、l只要任意一个被找到, 立刻停止查找res = strings.IndexAny("hello 李南江", "wmhl")fmt.Println(res) // 0// 查找`子串`在字符串第一次出现的位置, 找不到返回-1res = strings.Index("hello 李南江", "llo")fmt.Println(res) // 2// 会把lle当做一个整体去查找, 而不是拆开res = strings.Index("hello 李南江", "lle")fmt.Println(res) // -1// 可以查找字符也可以查找汉字res = strings.Index("hello 李南江", "李")fmt.Println(res) // 6// 会将字符串先转换为[]rune, 然后遍历rune切片逐个取出传给自定义函数// 只要函数返回true,代表符合我们的需求, 既立即停止查找res = strings.IndexFunc("hello 李南江", custom)fmt.Println(res) // 4// 倒序查找`子串`在字符串第一次出现的位置, 找不到返回-1res = strings.LastIndex("hello 李南江", "l")fmt.Println(res) // 3}func custom(r rune) bool {fmt.Printf("被调用了, 当前传入的是%c\n", r)if r == 'o' {return true}return false}

判断字符串中是否包含子串

func Contains(s, substr string) boolfunc ContainsRune(s string, r rune) boolfunc ContainsAny(s, chars string) boolfunc HasPrefix(s, prefix string) boolfunc HasSuffix(s, suffix string) bool

package mainimport ("fmt""strings")func main() {// 查找`子串`在字符串中是否存在, 存在返回true, 不存在返回false// 底层实现就是调用strings.Index函数res := strings.Contains("hello 代码情缘", "llo")fmt.Println(res) // true// 查找`汉字`OR`字符`在字符串中是否存在, 存在返回true, 不存在返回false// 底层实现就是调用strings.IndexRune函数res = strings.ContainsRune("hello 代码情缘", 'l')fmt.Println(res) // trueres = strings.ContainsRune("hello 代码情缘", '李')fmt.Println(res) // false// 查找`汉字`OR`字符`中任意一个在字符串中是否存在, 存在返回true, 不存在返回false// 底层实现就是调用strings.IndexAny函数res = strings.ContainsAny("hello 代码情缘", "wmhl")fmt.Println(res) // true// 判断字符串是否已某个字符串开头res = strings.HasPrefix("lnj-book.avi", "lnj")fmt.Println(res) // true// 判断字符串是否已某个字符串结尾res = strings.HasSuffix("lnj-book.avi", ".avi")fmt.Println(res) // true}

字符串比较

func Compare(a, b string) intfunc EqualFold(s, t string) bool

package mainimport ("fmt""strings")func main() {// 比较两个字符串大小, 会逐个字符地进行比较ASCII值// 第一个参数 > 第二个参数 返回 1// 第一个参数 < 第二个参数 返回 -1// 第一个参数 == 第二个参数 返回 0res := strings.Compare("bcd", "abc")fmt.Println(res) // 1res = strings.Compare("bcd", "bdc")fmt.Println(res) // -1res = strings.Compare("bcd", "bcd")fmt.Println(res) // 0// 判断两个字符串是否相等, 可以判断字符和中文// 判断时会忽略大小写进行判断res2 := strings.EqualFold("abc", "def")fmt.Println(res2) // falseres2 = strings.EqualFold("abc", "abc")fmt.Println(res2) // trueres2 = strings.EqualFold("abc", "ABC")fmt.Println(res2) // trueres2 = strings.EqualFold("代码情缘", "代码情缘")fmt.Println(res2) // true}

字符串转换

func ToUpper(s string) stringfunc ToLower(s string) stringfunc ToTitle(s string) stringfunc ToUpperSpecial(_case unicode.SpecialCase, s string) stringfunc ToLowerSpecial(_case unicode.SpecialCase, s string) stringfunc ToTitleSpecial(_case unicode.SpecialCase, s string) stringfunc Title(s string) string

package mainimport ("fmt""strings")func main() {// 将字符串转换为小写res := strings.ToLower("ABC")fmt.Println(res) // abc// 将字符串转换为大写res = strings.ToUpper("abc")fmt.Println(res) // ABC// 将字符串转换为标题格式, 大部分`字符`标题格式就是大写res = strings.ToTitle("hello world")fmt.Println(res) // HELLO WORLDres = strings.ToTitle("HELLO WORLD")fmt.Println(res) // HELLO WORLD// 将单词首字母变为大写, 其它字符不变// 单词之间用空格OR特殊字符隔开res = strings.Title("hello world")fmt.Println(res) // Hello World}

字符串拆合

func Split(s, sep string) []stringfunc SplitN(s, sep string, n int) []stringfunc SplitAfter(s, sep string) []stringfunc SplitAfterN(s, sep string, n int) []stringfunc Fields(s string) []stringfunc FieldsFunc(s string, f func(rune) bool) []stringfunc Join(a []string, sep string) stringfunc Repeat(s string, count int) stringfunc Replace(s, old, new string, n int) string

package mainimport ("fmt""strings")func main() {// 按照指定字符串切割原字符串// 用,切割字符串arr1 := strings.Split("a,b,c", ",")fmt.Println(arr1, " ", len(arr1)) // [a b c] 3arr2 := strings.Split("ambmc", "m")fmt.Println(arr2, " ", len(arr2)) // [a b c] 3// 按照指定字符串切割原字符串, 并且指定切割为几份// 如果最后一个参数为0, 那么会范围一个空数组arr3 := strings.SplitN("a,b,c", ",", 2)fmt.Println(arr3, " ", len(arr3)) // [a b,c] 2arr31 := strings.SplitN("a,b,c", ",", 1)fmt.Println(arr31, " ", len(arr31)) // [a,b,c] 1arr4 := strings.SplitN("a,b,c", ",", 0)fmt.Println(arr4, " ", len(arr4)) // [] 0// 按照指定字符串切割原字符串, 切割时包含指定字符串arr5 := strings.SplitAfter("a,b,c", ",")fmt.Println(arr5, " ", len(arr5)) // [a, b, c] 3// 按照指定字符串切割原字符串, 切割时包含指定字符串, 并且指定切割为几份arr6 := strings.SplitAfterN("a,b,c", ",", 2)fmt.Println(arr6, " ", len(arr6)) // [a, b,c] 2// 按照空格切割字符串, 多个空格会合并为一个空格处理arr7 := strings.Fields("a b c d")fmt.Println(arr7) // [a b c d]// 将字符串转换成切片传递给函数之后由函数决定如何切割// 类似于IndexFuncarr8 := strings.FieldsFunc("a,b,c", custom)fmt.Println(arr8) // [a b c]// 将字符串切片按照指定连接符号转换为字符串sce := []string{"aa", "bb", "cc"}fmt.Println(sce)str1 := strings.Join(sce, "-")fmt.Println(str1) // aa-bb-cc// 返回count个s串联的指定字符串str2 := strings.Repeat("abc", 2)fmt.Println(str2) // abcabc// 第一个参数: 需要替换的字符串// 第二个参数: 旧字符串// 第三个参数: 新字符串// 第四个参数: 用新字符串 替换 多少个旧字符串// 注意点: 传入-1代表只要有旧字符串就替换// 注意点: 替换之后会生成新字符串, 原字符串不会受到影响str3 := "abcdefabcdefabc"str4 := strings.Replace(str3, "abc", "mmm", -1)fmt.Println(str3) // abcdefabcdefabcfmt.Println(str4) // mmmdefmmmdefmmm}func custom(r rune) bool {fmt.Printf("被调用了, 当前传入的是%c\n", r)if r == ',' {return true}return false}

字符串清理

func Trim(s string, cutset string) stringfunc TrimLeft(s string, cutset string) stringfunc TrimRight(s string, cutset string) stringfunc TrimFunc(s string, f func(rune) bool) stringfunc TrimLeftFunc(s string, f func(rune) bool) stringfunc TrimRightFunc(s string, f func(rune) bool) stringfunc TrimSpace(s string) stringfunc TrimPrefix(s, prefix string) stringfunc TrimSuffix(s, suffix string) string

package mainimport ("fmt""strings")func main() {// 去除字符串两端指定字符str1 := strings.Trim("!!!abc!!!def!!!", "!")fmt.Println(str1) // abc!!!def// 去除字符串左端指定字符str2 := strings.TrimLeft("!!!abc!!!def!!!", "!")fmt.Println(str2) // abc!!!def!!!// 去除字符串右端指定字符str3 := strings.TrimRight("!!!abc!!!def!!!", "!")fmt.Println(str3) // !!!abc!!!def// // 去除字符串两端空格str4 := strings.TrimSpace(" abc!!!def ")fmt.Println(str4) // abc!!!def// 按照方法定义规则,去除字符串两端符合规则内容str5 := strings.TrimFunc("!!!abc!!!def!!!", custom)fmt.Println(str5) // abc!!!def// 按照方法定义规则,去除字符串左端符合规则内容str6 := strings.TrimLeftFunc("!!!abc!!!def!!!", custom)fmt.Println(str6) // abc!!!def!!!// 按照方法定义规则,去除字符串右端符合规则内容str7 := strings.TrimRightFunc("!!!abc!!!def!!!", custom)fmt.Println(str7) // !!!abc!!!def// 取出字符串开头的指定字符串str8 := strings.TrimPrefix("lnj-book.avi", "lnj-")fmt.Println(str8) // book.avi// 取出字符串结尾的指定字符串str9 := strings.TrimSuffix("lnj-book.avi", ".avi")fmt.Println(str9) // lnj-book}func custom(r rune) bool {fmt.Printf("被调用了, 当前传入的是%c\n", r)if r == '!' {return true}return false}

2、饥荒地图全开代码:饥荒联机版地图全开代码

游戏介绍:《饥荒口袋版》是一款冒险类手机游戏,里面有着非常好玩有趣的故事,不过能不能玩转就看你了,玩家必须探索这个陌生的世界,了解其中的居民,找到回家的路。不过你得懂一些求生技能,做好心理准备,开始游戏吧。

饥荒联机版代码。

1.c_give(“XX”,数量)——直接放包里。

2.c_spawn(“XX”,数量)——放鼠标指针指示的地上。

XX填饥荒中的生物/物品等的英文名称。

3.DebugSpawn“XXX”,数量——放在地上。

4.其他指令:

全物品直接制造:GetPlayer().components.builder:GiveAllRecipes()。

饥饿值不降低:GetPlayer().components.hungerause(true)。

精神值不降低(慎用不可取消):GetPlayer().components.sanity:SetMax(500)。

最大血格:GetPlayer().components.health:SetMaxHealth(300)。

上帝模式:GetPlayer().components.health:SetInvincible(true)。

5.下面是开全地图,要输入2个指令才行,每次都要回车执行:

minimap = TheSim:FindFirstEntityWithTag("minimap")。

minimap.MiniMap:ShowArea(0,0,0, 10000)。

6.设置生命:c_sethealth(百分数)。

7.设置精神:c_setsanity(百分数)。

8.设置饥饿:c_sethunger(百分数)。

9.传送:c_gonext(“***”)。

10.设置速度:c_speed(数值)。

11.上帝模式:c_godmode()。

12.变成海狸(吴迪专用):GetPlayer().components.beaverness:SetPercent(1)。

13.删除:TheInput:GetWorldEntityUnderMouse():Remove()。

14.地图全开:GetWorld().minimap.MiniMap:ShowArea(0,0,0,10000)。

15.跳过一天:GetClock():MakeNextDay()/c_skipdays(数值)。

16.跳过几天:for x = 1, 值 do GetClock():MakeNextDay() end。

17.跳过一段时间:LongUpdate(值)时钟每格30个单位,一整天是480个单位。

18.设置时间段:GetClock():SetSegs(白天,黄昏,夜晚)时钟一共有16个格,白天黄昏夜晚加在一起必须为16。

19.跳过时间段:GetClock():NextPhase()白天跳到黄昏。

20.开始春天(DLC1):GetSeasonManager():StartSpring()。

21.开始夏天:GetSeasonManager():StartSummer()。

22.开始秋天(DLC1):GetSeasonManager():StartAutumn()。

23.开始冬天:GetSeasonManager():StartWinter()。

24.开始下雨:GetSeasonManager():StartPrecip()。

25.停止下雨:GetSeasonManager():StopPrecip()。

26.生成闪电:GetSeasonManager():DoLightningStrike(Vector3(GetPlayer().Transform:GetWorldPosition()))。

27.测量距离:print(math.sqrt(GetPlayer():GetDistanceSqToInst(TheInput:GetWorldEntityUnderMouse())))。

28.解锁角色:GetPlayer().profile:UnlockCharacter("角色名称")或GetPlayer().profile:Save()。

29.可以解锁多个角色:GetPlayer().profile:UnlockCharacter("willow")。

GetPlayer().profile:UnlockCharacter("wickerbottom")。

GetPlayer().profile:Save()。

30.全部解锁:GetPlayer().profile:UnlockEverything()。

31.清除死亡记录:ErasePersistentString("morgue")。

饥荒联机版地图全开代码。

按“~”键(数字1的左侧)开启控制台。地图全开代码,要输入2个指令才行,每次都要回车执行,直接复制粘贴到游戏中即可。

minimap = TheSim:FindFirstEntityWithTag("minimap")minimap.MiniMap:ShowArea(0,0,0, 10000)。

饥荒联机版代码怎么用。

在进入游戏之后按“~”键便可调出控制台”。

输入c_give("代码",数量)——物品会按所输数量出现在物品栏,假若包裹放不下,会自动掉落在地上。c_spawn(“代码”,数量)——放鼠标指针指示的地上,这样就可以了使用代码了。

本文关键词:饥荒联机版地图全开代码输入以后按住ctrl,饥荒联机版地图全开代码怎么没用,饥荒联机版地图全开代码,饥荒联机版地图全开代码大全,饥荒联机版地图全开代码视频。这就是关于《饥荒地图全开代码,饥荒联机版地图全开代码(与字符编码)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 10088是什么电话,10088是什么电话服务0(95XXX这些号码你都知道吗)

下一篇: 银行面试怎么准备,银行面试准备什么(钢铁侠再强,也刚不过擎天柱啊)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号