I'm trying to read an entire line from the console (including whitespace), then process it. Using bufio.ReadString, the newline character is read together with the input, so I came up with the following code to trim the newline character:
input,_:=src.ReadString('\n')
inputFmt:=input[0:len(input)-2]+"" //Need to manually add end of string
Is there a more idiomatic way to do this? That is, is there already a library that takes care of the ending null byte when extracting substrings for you?
(Yes, I know there is already a way to read a line without the newline character in go readline -> string but I'm looking more for elegant string manipulation.)
It looks like you're confused by the working of slices and the string storage format, which is different from what you have in C.
len
operation : there is no need to count1
after slicing by adding an empty string.To remove the last char (if it's a one byte char), simply do
inputFmt:=input[:len(input)-1]