How do I write a null character in a u8 field? '\0' doesn't work

const Token = @import("token.zig").Token;
const TokenType = @import("token.zig").TokenType;
const std = @import("std");
pub const Lexer = struct {
    input: []const u8 = undefined,
    position: usize = 0,
    read_position: usize = 0,
    char: u8 = '\0', -- invalid escape sequence

    const Self = @This();

    pub fn new(input: []const u8) Self {
        return Self{
            .input = input,
            .position = 0,
            .read_position = 0,
            .char = '\0',
        };
    }

    pub fn read_char(self: *Self) void {
        if (self.read_position >= self.input.len) {
            self.char = 0;
        } else {
            self.ch = self.input[self.read_position];
        }

        self.position = self.read_position;
        self.read_position += 1;
    }
};

= '\x00' or just simply = 0

5 Likes